Java的8过滤+收集到列表中的NullPointerException

Durlabh夏尔马:

我一直在与流API一段时间,但没有遇到任何这种情况到现在。为什么这个代码抛出一个NPE?

public static void main(String[] args) {
    MarkupModel m1 = new MarkupModel();
    m1.setOverrideFlag(true);
    MarkupModel m2 = new MarkupModel();
    m1.setOverrideFlag(false);
    List<MarkupModel> markupModelList = new LinkedList<>();
    markupModelList.add(m1);
    markupModelList.add(m2);
    List<MarkupModel> typeAMarkupStream = markupModelList.stream()
        .filter(markupModel -> !markupModel.getOverrideFlag())
        .collect(Collectors.toList()); //NPE thrown here
}
洛尼克斯:

你必须过滤null元素:

List<MarkupModel> typeAMarkupStream = markupModelList.stream()
    .filter(markupModel -> markupModel.getOverrideFlag() == null || !markupModel.getOverrideFlag())
    .collect(Collectors.toList());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将 int 列表收集到 Java 8 中的条目列表

如何使用Java 8 groupingBy收集到不同类型的列表中?

如何使用Java流将多个列表收集到一个列表中?

如何在Java 8中收集到LinkedHashMap

Java的收集到列表中,但指定的两个元素顺序预先定义

Java流将数组收集到一个列表中

Java流将对象列表收集到存储桶

Java流基于列的总和将Excel CSV收集到列表过滤

Java 8的可选列表收集到列表编译错误

Java 8如何处理一个列表中的对象并将其收集到另一个列表中?

在Java 8中使用Lambda将流收集到HashMap中

如何根據類的屬性將對象收集到列表,然後在 java 8 或 11 中映射到 HashMap?

Java8:按键将流收集到SortedMap中

如何将Java 8流收集到Guava ImmutableCollection中?

Java Stream:如何遍历列表映射并将数据收集到列表

收集到使用Java 8流番石榴的ListMultiMap

Java 8收集到Map <String,List <Object >>

[Java] [功能]将列表中的字段项收集到此类字段的列表中

如何收集到地图中值形成一个列表时重复键在流,在Java 8

将PySpark数据框过滤器的结果收集到一个变量中

如何在 Java 中使用流/lambda 重复调用 0 参数函数并将返回值收集到列表中?

如何在Java 8中将流的结果收集到自定义对象的数组中

多级列表过滤的java 8

Hadoop:如何将Reduce的输出收集到Java HashMap中

通过其值过滤Map对象,而无需将结果收集到另一个map中

Java流 - 应用两个过滤器,并收集到两个集合中的一个迭代

Java Stream以相反的顺序收集到TreeMap

Java 8流按列表过滤列表

在Java-8中使用新标识符将返回的HashMap收集到一个中