Poszukuję metody, która może generować strumień kolekcji, ale ma wartość zerową. Jeśli kolekcja ma wartość NULL, zwracany jest pusty strumień. Tak:Null safe Kolekcja jako strumień w języku Java 8
Utils.collectionAsStream(collection).filter(...);
Stworzyłem własną metodę:
public static <T> Stream<T> collectionAsStream(Collection<T> collection) {
if (collection == null) {
return Stream.empty();
}
return collection.stream();
}
Ale jestem ciekaw, czy coś jest nie tak w standardzie JDK?
należy starać się unikać 'kolekcję null' w pierwszej kolejności. Najlepszą metodą jest zamiast tego używanie pustej kolekcji. –
Tak, zgadzam się, ale jeśli polegasz na czyjejś bibliotece, nie masz wyboru. – Gondy
W takim przypadku można po prostu zastąpić kolekcję otrzymaną z tej biblioteki pustym, gdy zwróci 'null'. Trochę jak w rozwiązaniu Grega. –