Convert this null check to Java 8 optional

I can't understand how to delete the following null check using java 8 option

for (A objA : listOfObjectsA) {
    if (objA.getStringField() == null) continue;
        // some code to do if not null
}

Solution

If "some code is not null" is only valid for obja Getstringfield(), you can do the following:

listOfObjectsA.stream()
              .map(A::getStringField)
              .filter(Objects::nonNull)
              .forEach(e -> ...);

However, if you still want to access the a element, as the other answers show, you have no choice but to execute explicit obja getStringField()!= null:

listOfObjectsA.stream()
              .filter(a -> a.getStringField() != null)
              .forEach(a -> ...);
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>