public class Master {
private final Person person;
...
}
public class Person {
private final Business business;
private final boolean isCorrect;
...
}
public class Business {
private final List<String> businessList;
...
}
Mamy taki zagnieżdzony obiekt, chcemy wydostać listę. Chciałbym zrobić coś takiego, że sprawdzam każdorazowo na którym momencie może wyskoczyć null i dodatkowo na końcu czy lista nie jest pusta. Na razie doszedłem do takiego momentu. Jak jeszcze dorzucić sprawdzanie pustej listy? Java 11+, bez bibliotek.
List<String> result = Optional.of(master)
.map(x -> Optional.ofNullable(x.getPerson()).orElseThrow(() -> new RuntimeException("Jakis pierwszy")))
.map(x -> Optional.ofNullable(x.getBusiness()).orElseThrow(() -> new RuntimeException("Jakis drugi")))
.map(x -> x.getBusinessList())
.stream()
.flatMap(x -> x.stream())
.collect(Collectors.toList());