Вы можете заменить свой код в стиле Java8 с потоками и Optional
.Но я думаю, что в данном конкретном случае это не лучше, чем POJO (что гораздо проще и удобочитаемее):
Optional.ofNullable(listOfObjectsA).orElse(Collections.emptyList()).stream()
.filter(Objects::nonNull)
.filter(objA -> Objects.nonNull(objA.getStringField()))
.forEach(objA -> {
// some code to do if not null
});
Если вы уверены, что данный список не может быть null
икаждый элемент objA
также не может быть null
, тогда вы определенно можете избежать некоторых бесполезных проверок в этом случае:
listOfObjectsA.stream()
.filter(objA -> Objects.nonNull(objA.getStringField()))
.forEach(objA -> {
// some code to do if not null
});