Nuñito・デ・ラ・カルサダ:
私は、私が存在する場合の要素を返すようにしたいコードのこの作品、そうでない場合はnullを持っています
List<String> myList = new ArrayList<>();
myList.add("Test");
myList.add("Example");
myList.add("Sth");
String str = myList.stream()
.filter(x -> x.equals("eee"))
.findFirst()
.orElseGet(null);
しかし、私はとにかくjava.lang.NullPointerExceptionが「メイン」スレッドで例外が発生しました
ernest_k:
orElseGet
サプライヤーを取ります。あなたは利用したいですorElse
:
.findFirst().orElse(null);
これは、リターンヌルへのサプライヤーを使用するにはあまり意味がありませんが、あなたがした場合、それは次のようになります。
.findFirst().orElseGet(() -> null); //if argument is null, you get the NPE
ののJavaDoc orElseGet
(追加用バンバンさんのコメントのおかげで)それを言及します:
例外:
NullPointerExceptionが -値が存在しないと、他のがnullの場合