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