Durlabh Sharma :
I've been working with stream api for a while but didn't encounter any such case till now. Why is this code throwing a 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
}
Andronicus :
you would have to filter null
elements:
List<MarkupModel> typeAMarkupStream = markupModelList.stream()
.filter(markupModel -> markupModel.getOverrideFlag() == null || !markupModel.getOverrideFlag())
.collect(Collectors.toList());
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=316817&siteId=1