Javaには次の検索コードがあります。
return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get();
名前で列を見つけて、最初に見つかった列を返すことを望んでいました。
何も見つからず、処理する必要がある場合があることを理解していますが、どのように処理しますか?
これは、この宣誓によって望んでいることです:
'Optional.get()' without 'isPresent()' check
?
直し方?何も見つからない場合はnull
を返します。
UPDATE
わかりました、わかりません、findFirst()
がOptional
を返すことに気づきませんでした。
get()
を orElse(null)
に置き換えます。
...findFirst().orElse(null);
存在する場合は値を返し、そうでない場合はnull
を返します。ドキュメンテーション says 渡されたパラメーターはnull
( orElseGet
および orElseThrow
で禁止されているもの)。