モジュール java.base
パッケージ java.util

クラスOptional<T>

java.lang.Object
java.util.Optional<T>
型パラメータ:
T - 価値のタイプ

public final class Optional<T> extends Object
null以外の値を含む場合と含まない場合があるコンテナ・オブジェクト。 値が存在する場合、isPresent()trueを返します。 値が存在しない場合、オブジェクトはemptyとみなされ、isPresent()falseを返します。

orElse() (値がない場合はデフォルト値を返します)やifPresent() (値が存在する場合にアクションを実行)など、含まれている値の有無に依存する追加のメソッドが提供されます。

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。

APIのノート:
Optionalは、主に、"結果なし、"を表す明確な必要があり、nullを使用するとエラーが発生する可能性があるメソッドの戻り型として使用することを目的としています。 型がOptionalの変数は、それ自体がnullになることはなく、常にOptionalインスタンスを指す必要があります。
導入されたバージョン:
1.8