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