成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java-ee - JAVA Non-static method cannot be referenced

瀏覽:165日期:2023-10-19 15:56:49

問(wèn)題描述

Non-static method cannot be referenced from a static contextjava-ee - JAVA Non-static method cannot be referenced

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)化。

標(biāo)簽: java
相關(guān)文章: