我一直在与流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] 删除。
我来说两句