クラスOptionalInt
java.lang.Object
java.util.OptionalInt
public final class OptionalInt extends Object
int値を含む場合と含まない場合があるコンテナ・オブジェクト。 値が存在する場合、isPresent()はtrueを返します。 値が存在しない場合、オブジェクトはemptyとみなされ、isPresent()はfalseを返します。
orElse() (値がない場合はデフォルト値を返します)やifPresent() (値が存在する場合にアクションを実行)など、含まれている値の有無に依存する追加のメソッドが提供されます。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。
- APIのノート:
OptionalIntは、主に"結果がありません。"を明示的に必要とするメソッドの戻り型として使用することを意図しています 型がOptionalIntの変数は、それ自体がnullになることはなく、常にOptionalIntインスタンスを指す必要があります。- 導入されたバージョン:
- 1.8
-
メソッドのサマリー
修飾子と型メソッド説明static OptionalIntempty()空のOptionalIntインスタンスを返します。boolean他のオブジェクトがこのOptionalIntに"に等しい"かどうかを示します。intgetAsInt()値が存在する場合は値を返し、存在しない場合はNoSuchElementExceptionをスローします。inthashCode()値のハッシュ・コード(存在する場合)を返します。値がない場合は0(zero)を返します。voidifPresent(IntConsumer action) 値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は何も実行しません。voidifPresentOrElse(IntConsumer action, Runnable emptyAction) 値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は、指定された空ベースのアクションを実行します。booleanisEmpty()値が存在しない場合はtrue、それ以外の場合falseを返します。boolean値が存在する場合、true、それ以外の場合はfalseを返します。static OptionalIntof(int value) 指定された値を記述するOptionalIntを返します。intorElse(int other) 値が存在する場合は値を返し、存在しない場合はotherを返します。intorElseGet(IntSupplier supplier) 値が存在する場合は値を返し、それ以外の場合は供給関数によって生成された結果を返します。int値が存在する場合は値を返し、存在しない場合はNoSuchElementExceptionをスローします。<X extends Throwable>
intorElseThrow(Supplier<? extends X> exceptionSupplier) 値が存在する場合は値を返し、それ以外の場合は例外指定関数によって生成された例外をスローします。stream()値が存在する場合は、その値のみを含む順次IntStreamを戻し、それ以外の場合は空のIntStreamを戻します。toString()デバッグに適したこのOptionalIntの空でない文字列表現を返します。
-
メソッドの詳細
-
empty
public static OptionalInt empty()空のOptionalIntインスタンスを返します。 このOptionalIntには値はありません。- APIのノート:
- これは一時的なものですが、
OptionalInt.empty()によって返されたインスタンスと==または!=を比較して、オブジェクトが空であるかどうかをテストしないでください。 シングルトンである保証はありません。 かわりに、isEmpty()またはisPresent()を使用してください。 - 戻り値:
- 空の
OptionalInt。
-
of
public static OptionalInt of(int value) 指定された値を記述するOptionalIntを返します。- パラメータ:
value- 説明する値- 戻り値:
- 値が存在する
OptionalInt
-
getAsInt
public int getAsInt()値が存在する場合は値を返し、存在しない場合はNoSuchElementExceptionをスローします。- APIのノート:
- このメソッドの代替として優先される方法は、
orElseThrow()です。 - 戻り値:
- この
OptionalIntで記述された値 - スロー:
NoSuchElementException- 値が存在しない場合
-
isPresent
public boolean isPresent()値が存在する場合、true、それ以外の場合はfalseを返します。- 戻り値:
- 値が存在する場合は
true、存在しない場合はfalse
-
isEmpty
public boolean isEmpty()値が存在しない場合はtrue、それ以外の場合falseを返します。- 戻り値:
- 値が存在しない場合は
true、それ以外の場合はfalse - 導入されたバージョン:
- 11
-
ifPresent
public void ifPresent(IntConsumer action) 値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は何も実行しません。- パラメータ:
action- 値が存在する場合、実行するアクション- スロー:
NullPointerException- 値が存在し、与えられたアクションがnullの場合
-
ifPresentOrElse
public void ifPresentOrElse(IntConsumer action, Runnable emptyAction) 値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は、指定された空ベースのアクションを実行します。- パラメータ:
action- 値が存在する場合、実行するアクションemptyAction- 値が存在しない場合、実行される空ベースのアクション- スロー:
NullPointerException- 値が存在し、指定されたアクションがnullの場合、または値が存在しない場合、指定された空のアクションはnullです。- 導入されたバージョン:
- 9
-
stream
-
orElse
public int orElse(int other) 値が存在する場合は値を返し、存在しない場合はotherを返します。- パラメータ:
other- 値が存在しない場合、返される値- 戻り値:
- 値(存在する場合)、それ以外の場合は
other
-
orElseGet
public int orElseGet(IntSupplier supplier) 値が存在する場合は値を返し、それ以外の場合は供給関数によって生成された結果を返します。- パラメータ:
supplier- 戻される値を生成する供給関数- 戻り値:
- 値が存在する場合は、それ以外の場合は、供給機能によって生成される結果
- スロー:
NullPointerException- 値が存在せず、供給関数がnullの場合
-
orElseThrow
public int orElseThrow()値が存在する場合は値を返し、存在しない場合はNoSuchElementExceptionをスローします。- 戻り値:
- この
OptionalIntで記述された値 - スロー:
NoSuchElementException- 値が存在しない場合- 導入されたバージョン:
- 10
-
orElseThrow
値が存在する場合は値を返し、それ以外の場合は例外指定関数によって生成された例外をスローします。- APIのノート:
- 引数リストが空である例外コンストラクタへのメソッド参照をサプライヤとして使用できます。 たとえば、
IllegalStateException::newなどです。 - 型パラメータ:
X- スローされる例外のタイプ- パラメータ:
exceptionSupplier- スローされる例外を生成する供給関数- 戻り値:
- 値がある場合
- スロー:
X- 値が存在しない場合NullPointerException- 値が存在せず、例外を提供する関数がnullの場合
-
equals
-
hashCode
-
toString
-