在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) .