我无法解释为什么我的过滤器不起作用。我排除了if
-语句中的条件,以检查该条件是否真的为真。当DefaultLang
(v.getLinkDefaultLang()
(和currentLang(v.getLinkCurrentLang()
(为Null时,我不希望在List
中有该值!
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());