Я объединяю несколько списков, используя Stream.of(..)
, а затем выполняю flatMap
для того же самого, чтобы собрать объединенный список, как показано ниже:
class Foo{
List<Entity> list1;
List<Entity> list2;
List<Entity> list3;
//getters & setters
}
Foo foo = getFoo();
Predicate<Entity> isExist = //various conditions on foo ;
List<Bar> bars = Stream
.of(foo.getList1(), foo.getList2(), foo.getList3())
.flatMap(Collection::stream)
.filter(isExist)
.map(entity -> getBar(entity))
.collect(Collectors.toList());
Первый вопрос :
Проверяет ли Stream.of(..)
nonNull
& notEmpty
?
Если ans Нет ,
Второй вопрос :
Как я могу выполнить nonNull
& notEmpty
проверки для всех lists
, которые я получаю от foo
в приведенном выше коде? Так что, когда происходит слияние всех этих трех списков, оно в основном игнорирует null
& empty
list
, чтобы избежать NullPointerException
?