- java.lang.Object
-
- java.util.OptionalInt
-
public final class OptionalInt extends Object
int
値を含む場合と含まない場合があるコンテナ・オブジェクトです。 値が存在する場合、isPresent()
はtrue
を返します。 値が存在しない場合、オブジェクトはemptyとみなされ、isPresent()
はfalse
を返します。orElse()
(値がない場合はデフォルト値を返します)およびifPresent()
(値が存在する場合にアクションを実行)のような、含まれた値の有無に依存する追加のメソッドが提供されています。これは値ベースのクラスで、
OptionalInt
のインスタンスに対して、ID依存操作(参照等価性(==
)、IDハッシュ・コード、同期など)を使用すると、予期できない結果になる可能性があり、避けてください。- APIの注:
OptionalInt
は、主に"検索なし"を明示的に必要とするメソッドの戻り型として使用することを意図しています 型がOptionalInt
の変数は、それ自体決してnull
であってはなりません。常にOptionalInt
インスタンスを指す必要があります。- 導入されたバージョン:
- 1.8
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 static OptionalInt
empty()
空のOptionalInt
インスタンスを返します。boolean
equals(Object obj)
他のオブジェクトがこのOptionalInt
に"に等しい"かどうかを示します。int
getAsInt()
値がある場合は値を返し、そうでない場合はNoSuchElementException
をスローします。int
hashCode()
存在する場合は値のハッシュ・コードを返し、値が存在しない場合は0
(zero)を返します。void
ifPresent(IntConsumer action)
値が存在する場合は、その値で指定されたアクションを実行し、そうでない場合は何もしません。void
ifPresentOrElse(IntConsumer action, Runnable emptyAction)
値が存在する場合は、指定されたアクションを値とともに実行し、そうでない場合は空のベースのアクションを実行します。boolean
isPresent()
値が存在する場合はtrue
を返し、そうでない場合はfalse
を返します。static OptionalInt
of(int value)
指定された値を記述するOptionalInt
を返します。int
orElse(int other)
値が存在する場合は値を返し、そうでない場合はother
を返します。int
orElseGet(IntSupplier supplier)
値が存在する場合は値を返し、そうでない場合は供給関数によって生成された結果を返します。int
orElseThrow()
値がある場合は値を返し、そうでない場合はNoSuchElementException
をスローします。<X extends Throwable>
intorElseThrow(Supplier<? extends X> exceptionSupplier)
値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。IntStream
stream()
値が存在する場合は、その値のみを含む順次IntStream
を返し、それ以外の場合は空のIntStream
を返します。String
toString()
デバッグに適したこのOptionalInt
の空でない文字列表現を返します。
-
-
-
メソッドの詳細
-
empty
public static OptionalInt empty()
空のOptionalInt
インスタンスを返します。 このOptionalInt
には値はありません。- APIの注:
- そのようにするのが賢明かもしれませんが、
==
とOptionalInt.empty()
によって返されたインスタンスを比較することによって、オブジェクトが空であるかどうかをテストしないでください。 シングルトンである保証はありません。 かわりに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
-
ifPresent
public void ifPresent(IntConsumer action)
値が存在する場合は、その値で指定されたアクションを実行し、そうでない場合は何もしません。- パラメータ:
action
- 値が存在する場合、実行されるアクション- 例外:
NullPointerException
- 値が存在し、与えられたアクションがnull
の場合
-
ifPresentOrElse
public void ifPresentOrElse(IntConsumer action, Runnable emptyAction)
値が存在する場合は、指定されたアクションを値とともに実行し、そうでない場合は空のベースのアクションを実行します。- パラメータ:
action
- 値が存在する場合、実行されるアクションemptyAction
- 値が存在しない場合、実行される空のベースのアクション- 例外:
NullPointerException
- 値が存在し、指定されたアクションがnull
の場合、または値が存在しない場合、指定された空のアクションはnull
です。- 導入されたバージョン:
- 9
-
stream
public IntStream stream()
値が存在する場合は、その値のみを含む順次IntStream
を返し、それ以外の場合は空のIntStream
を返します。- APIの注:
- このメソッドを使用して、オプションの整数の
Stream
を現在の整数のIntStream
に変換できます:Stream<OptionalInt> os = .. IntStream s = os.flatMapToInt(OptionalInt::stream)
- 戻り値:
IntStream
としてのオプションの値- 導入されたバージョン:
- 9
-
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
public <X extends Throwable> int orElseThrow(Supplier<? extends X> exceptionSupplier) throws X extends Throwable
値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。- APIの注:
- 引数リストが空である例外コンストラクタへのメソッド参照をサプライヤとして使用できます。 たとえば、
IllegalStateException::new
などです。 - 型パラメータ:
X
- スローされる例外の型- パラメータ:
exceptionSupplier
- スローされる例外を生成する供給関数- 戻り値:
- 存在する場合は値
- 例外:
X
- 値が存在しない場合NullPointerException
- 値が存在せず、例外を提供する関数がnull
の場合X extends Throwable
-
equals
public boolean equals(Object obj)
他のオブジェクトがこのOptionalInt
に"に等しい"かどうかを示します。 他方のオブジェクトは次の場合に同等と見なされます。- それも
OptionalInt
である、および - 両方のインスタンスに存在する値がない、または
- 存在する値が
==
によってお互いに等しい。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- 等価性を判定されるオブジェクト- 戻り値:
true
他のオブジェクトが"に等しい"の場合はこのオブジェクト、そうでない場合はfalse
- 関連項目:
Object.hashCode()
、HashMap
- それも
-
hashCode
public int hashCode()
存在する場合は値のハッシュ・コードを返し、値が存在しない場合は0
(zero)を返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- 現在値のハッシュ・コード値または値が存在しない場合の
0
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-