Java9 待望の Optionalのメソッド

(1)Java8 まで、Optional の、肯定と否定を、以前書いたように実行していたが、
Optional のifPresent の否定形 - Oboe吹きプログラマの黙示録

ifPresentOrElse で書けるようになった。さほど文が短くなるわけではないけど、型を書かなくてもいい。

Optional.ofNullable(object).ifPresentOrElse(e->{
   // NULLでない時の処理、Consumer
}, ()->{
   // NULL の時の Runnableメソッド
});

(2)Optional に追加された public Stream stream​()
JavaDoc のヒントを見て、気がついた。NULL を含むリスト、コレクションから、Stream の filter を使わずに
NULLをスキップした Stream を作れるではないですか。

サンプル

Stream<Optional<String>> nullableStream
= Arrays.asList("a", "b", null, "c").stream().<Optional<String>>map(Optional::ofNullable);

Stream<String> stringstream = nullableStream.flatMap(Optional::stream);

この stringstream を forEach で確かめます。

stringstream.forEach(System.out::println);

=== 結果は、、====
a
b
c