方法引用lambda java中多个筛选器上的预期错误



我试图在过滤器中使用两个条件,但给出了一个错误

ArrayList<String> abc = new ArrayList<String>(){{
add("OWVjZWU2");
add("YWVjZWU2");
add("ZWVjZWU2");
}};
mypairs.stream().filter(pair -> abc.contains("ded") || Utils::mymethod).collect(..some code..)

但这种情况很好

mypairs.stream().filter(Utils::mymethod).collect(..some code..)

p.Smymethod的方法类似于:

public static boolean isPacingExcluded(ABSType pair)

我是java新手,正在检查中出现的问题

不能将方法引用与lambda表达式一起使用,因此需要使用CCD_ 2。

此外,从代码来看,abc.contains("ded")似乎与mypairs的任何元素都不相关。即CCD_ 5的结果独立于CCD_。我建议将代码更改为:

if(abc.contains("ded")) {
mypairs.stream().filter(Utils::mymethod).collect(..some code..)
}

最新更新