在Stream中过滤Null项
使用Java Stream时,映射后有时会出现空值。 目前,当需要省略这些值时,我使用:
.stream() . .filter(element -> element != null) .
对于更具function性的风格,可以快速编写一个小辅助方法:
public static boolean nonNull(T entity) { return entity != null; }
这样您就可以使用方法引用:
.stream() . .filter(Elements::nonNull) .
我找不到这样的jdk方法,即使我怀疑他们已经包含了一个。 这里有不同的方法吗? 或者他们是否因为某种原因而省略了这个?
您可以使用Java8 SDK中的Objects :: nonNull :
.stream() . .filter(Objects::nonNull) .
您可以使用Objects :: nonNull
如果提供的引用为非null,则返回true,否则返回false。
.stream() . .filter(Objects::nonNull) .