web-dev-qa-db-ja.com

「isPresent()」チェックなしの「Optional.get()」

Javaには次の検索コードがあります。

return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get();

名前で列を見つけて、最初に見つかった列を返すことを望んでいました。

何も見つからず、処理する必要がある場合があることを理解していますが、どのように処理しますか?

これは、この宣誓によって望んでいることです:

'Optional.get()' without 'isPresent()' check

直し方?何も見つからない場合はnullを返します。

UPDATE

わかりました、わかりません、findFirst()Optionalを返すことに気づきませんでした。

59
Dims

get()orElse(null) に置き換えます。

131
Andy Turner
...findFirst().orElse(null);

存在する場合は値を返し、そうでない場合はnullを返します。ドキュメンテーション says 渡されたパラメーターはnullorElseGet および orElseThrow で禁止されているもの)。

17
Andrew Tobilko