Em Java 8 com Lambda, os valores nulos de um Stream podem ser removidos por filtragem nos valores que não são nulos.
stream.filter( a -> a != null )
Este exemplo, primeiro cria um Stream com 2 valores nulos. O Stream é primeiro filtrado nos valores que não são nulos; em seguida, usando o método forEach , os valores restantes são gravados na saída. Você pode ver que a saída não possui nenhum valor nulo.
import java.util.stream.Stream;
public class LambdaStreamFilterNull {
public static void main(String[] argv){
// Create an String with null values
Stream<String> stream = Stream.of( "a", null, "c", null, "a", "b", "b");
System.out.println( "Stream without null values:" );
// Filter the stream
stream.filter( a -> a != null )
.forEach( o -> System.out.println( o ) );
}
}
Stream without null values: a c a b b