以下の内容はhttps://uga-box.hatenablog.com/entry/2022/08/16/000000より取得しました。


【Java】いまさらJava9で追加されたflatMap(Optional::stream)を知った

Java9で追加されたflatMap(Optional::stream)という関数を知ったのでメモ

docs.oracle.com

これはOptionalオブジェクトが保持する値が非nullの場合はその値だけを持つstreamを返し、nullの場合は空のstreamを返す関数

今まではfilter(Optional::isPresent).map(Optional::get)で存在チェックをしていた

List<Optional<String>> list = List.of(
    Optional.of("a"),
    Optional.empty(),
    Optional.of("c"),
);

list.stream().filter(Optional::isPresent).map(Optional::get).forEach(System.out::println);
// a
// c

これがflatMap(Optional::stream)を使うだけでよくなるというTips

list.stream().flatMap(Optional::stream).forEach(System.out::println);
// a
// c

他参考

https://qiita.com/rubytomato@github/items/92ac7944c830e54aa03d




以上の内容はhttps://uga-box.hatenablog.com/entry/2022/08/16/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14