java-ee - JAVA Non-static method cannot be referenced
問(wèn)題描述
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;};
我想對(duì)operationInfos進(jìn)行分組,然后算個(gè)數(shù),但是爆了這個(gè)錯(cuò)。我這個(gè)方法不是靜態(tài)的方法..
問(wèn)題解答
回答1:toMap要求的參數(shù)是Function<? super T,? extends K> keyMapper,那么你把OperationThisMonthVO::getSurgeryDate當(dāng)做Function,是否符合? super T和? extends K呢?我猜測(cè)OperationThisMonthVO是operationInfo的子類而不是父類,所以這樣寫(xiě)不行??梢愿膶?xiě)成:
toMap(operationInfo -> ((OperationThisMonthVO) operationInfo).getSurgeryDate(), ...)
試試看。
回答2:簡(jiǎn)單的做法是,先寫(xiě)成標(biāo)準(zhǔn)的 lambda 表達(dá)式,再根據(jù) IDE 的提示來(lái)優(yōu)化。
相關(guān)文章:
1. docker容器呢SSH為什么連不通呢?2. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!3. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?4. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?5. angular.js - react的redux和vue的vuex,angular呢6. javascript - 微信小程序用接口B生成的二維碼,默認(rèn)進(jìn)入什么首頁(yè)?7. javascript - 回調(diào)函數(shù)和普通調(diào)用函數(shù)的區(qū)別?8. javascript - Tomcat突然就報(bào)錯(cuò)了,解析不了java文件,試過(guò)幾個(gè)百度的解決方法,沒(méi)解決。9. javascript - input框相關(guān)問(wèn)題10. eclipse - 如何解決no atk-wrapper in java.library.path
