Optional の stream() メソッド

未だに Java バージョンが、Java8 のままのプロジェクトが多く、以降のバージョンで追加された
メソッドの恩恵を受ける機会に恵まれず、追加メソッドの存在を忘れてしまってる。

Optional のリストがあった時に、null でないものだけを Stream で処理したい時、

Optional にある public Stream<T> stream() を使う。

これは、Java9 で追加されたメソッド

List<Optional<String>> list = // TODO セット

list.stream().flatMap(Optional::stream).forEach(e->{
    // TODO null でない 文字列 e に対する処理
});