You could use Optional
:
Optional.ofNullable(collection).orElse(Collections.emptySet()).stream()...
I chose Collections.emptySet()
arbitrarily as the default value in case collection
is null. This will result in the stream()
method call producing an empty Stream
if collection
is null.
Example :
Collection<Integer> collection = Arrays.asList (1,2,3);
System.out.println (Optional.ofNullable(collection).orElse(Collections.emptySet()).stream().count ());
collection = null;
System.out.println (Optional.ofNullable(collection).orElse(Collections.emptySet()).stream().count ());
Output:
3
0
Alternately, as marstran suggested, you can use:
Optional.ofNullable(collection).map(Collection::stream).orElse(Stream.empty ())...