【踏坑総括】java 8中streamのfindAny踏坑

2881 ワード

java 8の中でstreamのfindAnyはピットを踏みます。
需要:リストの中で要求に合う相手を探しています。
findAnyを通じて実現します。
A a = bList().stream().filter(b -> "test".equals(b.getName())).findAny().get();
その結果、この方法は見つけられたら戻るのではなく、見つけられなければ処理しないのではなく、直接に投げられないのです。
後はこの方式に変えました。
A a =bList().stream().filter(b->"test".equals(b.getName())).findAny().orElse(null);
orElse()ではデフォルト値を指定できます。見つけられなければorElseであなたが設定したデフォルトの値を返します。