Java 8 Filter+Collect to list NullpointerException

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