使用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...>

10-05 18:07