java-ee - JAVA非靜態方法無法被引用
怪我咯
怪我咯 2017-07-03 11:43:19
0
2
1230

Non-static method cannot be referenced from a static context

#
operationInfos.stream().collect(Collectors.toMap(OperationThisMonthVO::getSurgeryDate, Function.identity(), surgeryCountMerge));
public static final BinaryOperator<OperationCountVO> surgeryCountMerge = (v1, v2) -> {
    v1.setSurgeryCount(v1.getSurgeryCount() + v2.getSurgeryCount());
    return v1;
};

我想將operationInfos分組,然後算數,但是爆了這個錯。我這個方法不是靜態的方法..

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
扔个三星炸死你

toMap要求的參數是Function super T,? extends K> keyMapper,那麼你把
OperationThisMonthVO::getSurgeryDate當做呢?我猜OperationThisMonthVOoperationInfo的子類別而不是父類,所以這樣寫不行。可以改寫成:

toMap(operationInfo -> ((OperationThisMonthVO) operationInfo).getSurgeryDate(), ...)
試試看。
小葫芦

簡單的做法是,先寫成標準的 lambda 表達式,再根據 IDE 的提示來最佳化。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板