使用Java Stream时,映射后有时会出现空值。当前,当这些值需要省略时,我使用:
.stream()
.<other operations...>
.filter(element -> element != null)
.<other operations...>
对于更实用的样式,可以快速编写一个小的辅助方法:
public static <T> boolean nonNull(T entity) {
return entity != null;
}
这样您就可以使用方法引用了:
.stream()
.<other operations...>
.filter(Elements::nonNull)
.<other operations...>
我找不到这样的jdk方法,即使我怀疑它们中已经包含了一种。这里有不同的方法吗?还是他们出于某种原因忽略了这一点?
最佳答案
您可以从Java8 SDK使用Objects::nonNull:
.stream()
.<other operations...>
.filter(Objects::nonNull)
.<other operations...>