我的Java流的过滤器不工作
我无法解释为什么我的过滤器不工作。我在我的Java流的过滤器不工作,java,list,stream,hashmap,java-stream,Java,List,Stream,Hashmap,Java Stream,我无法解释为什么我的过滤器不工作。我在if-语句中排除该条件,以检查该条件是否真的为真,是否为真。当DefaultLang(v.getLinkDefaultLang())和currentLang(v.getLinkCurrentLang())为空时,我不希望在我的列表中有该值 manualResponseTOs.values().stream() .filter(v->isEmpty(v.getLinkDefaultLang())和&isEmpty(v.getLinkCurrentLang())
if
-语句中排除该条件,以检查该条件是否真的为真,是否为真。当DefaultLang
(v.getLinkDefaultLang()
)和currentLang(v.getLinkCurrentLang()
)为空时,我不希望在我的列表中有该值
manualResponseTOs.values().stream()
.filter(v->isEmpty(v.getLinkDefaultLang())和&isEmpty(v.getLinkCurrentLang())
.collect(Collectors.toList());
谢谢!现在我有了解决办法
filter(v-> !(isEmpty(v.getLinkDefaultLang()) && isEmpty(v.getLinkCurrentLang())))
您还可以根据条件进行筛选,而不是根据需要将所有条件都放在同一行上。它更具可读性
manualResponseTOs.values().stream()
.filter(v->!isEmpty(v.getLinkDefaultLang()))
.filter(v->!isEmpty(v.getLinkCurrentLang()))
.collect(Collectors.toList());
如果isEmpty为null返回true,则需要反转该条件,因为过滤器用于过滤出对collect有效的内容