Podczas korzystania ze strumienia Java czasami po mapowaniu mogą wystąpić wartości puste. Obecnie, gdy wartości te muszą zostać pominięte, używam:Filtrowanie elementów pustych w strumieniu
.stream()
.<other operations...>
.filter(element -> element != null)
.<other operations...>
Dla stylu bardziej funkcjonalny mały metoda pomocnika szybko napisane:
public static <T> boolean nonNull(T entity) {
return entity != null;
}
Tak, że można użyć Referencyjna metoda zamiast:
.stream()
.<other operations...>
.filter(Elements::nonNull)
.<other operations...>
Nie mogłem znaleźć takiej metody jdk, chociaż podejrzewam, że ją zawarły. Czy istnieje tutaj inne podejście? A może pominęli to z jakiegoś powodu?
Co z 'e -> e = null'! – immibis
Nic w sobie, ale wolę odwołanie do metody, gdy sytuacja ta wystąpi w potoku używającym tylko odwołań do metod. Czuł się jak wyłącznik combo. –
Powiązane: [Czy istnieje jakaś różnica między obiektami :: nonNull i x -> x! = Null?] (Https://stackoverflow.com/questions/25435056/is-there-any-difference-between-objectsnonnull-and- xx-null) –