OptionalDouble
public
final
class
OptionalDouble
extends Object
| java.lang.Object | |
| ↳ | java.util.OptionalDouble |
A container object which may or may not contain a double value.
If a value is present, isPresent() will return true and
getAsDouble() will return the value.
Additional methods that depend on the presence or absence of a contained
value are provided, such as orElse()
(return a default value if value not present) and
ifPresent() (execute a block
of code if the value is present).
Summary
Public methods | |
|---|---|
static
OptionalDouble
|
empty()
Returns an empty |
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this OptionalDouble. |
double
|
getAsDouble()
If a value is present in this |
int
|
hashCode()
Returns the hash code value of the present value, if any, or 0 (zero) if no value is present. |
void
|
ifPresent(DoubleConsumer consumer)
Have the specified consumer accept the value if a value is present, otherwise do nothing. |
boolean
|
isPresent()
Return |
static
OptionalDouble
|
of(double value)
Return an |
double
|
orElse(double other)
Return the value if present, otherwise return |
double
|
orElseGet(DoubleSupplier other)
Return the value if present, otherwise invoke |
<X extends Throwable>
double
|
orElseThrow(Supplier<X> exceptionSupplier)
Return the contained value, if present, otherwise throw an exception to be created by the provided supplier. |
String
|
toString()
Returns a string representation of the object. Returns a non-empty string representation of this object suitable for debugging. |
Inherited methods | |
|---|---|
Public methods
empty
public static OptionalDouble empty ()
Returns an empty OptionalDouble instance. No value is present for this
OptionalDouble.
API Note:
- Though it may be tempting to do so, avoid testing if an object
is empty by comparing with
==against instances returned byOption.empty(). There is no guarantee that it is a singleton. Instead, useisPresent().
| Returns | |
|---|---|
OptionalDouble |
an empty OptionalDouble. |
equals
public boolean equals (Object obj)
Indicates whether some other object is "equal to" this OptionalDouble. The other object is considered equal if:
- it is also an
OptionalDoubleand; - both instances have no value present or;
- the present values are "equal to" each other via
Double.compare() == 0.
| Parameters | |
|---|---|
obj |
Object: an object to be tested for equality |
| Returns | |
|---|---|
boolean |
{code true} if the other object is "equal to" this object
otherwise false |
getAsDouble
public double getAsDouble ()
If a value is present in this OptionalDouble, returns the value,
otherwise throws NoSuchElementException.
| Returns | |
|---|---|
double |
the value held by this OptionalDouble |
| Throws | |
|---|---|
NoSuchElementException |
if there is no value present |
See also:
hashCode
public int hashCode ()
Returns the hash code value of the present value, if any, or 0 (zero) if no value is present.
| Returns | |
|---|---|
int |
hash code value of the present value or 0 if no value is present |
ifPresent
public void ifPresent (DoubleConsumer consumer)
Have the specified consumer accept the value if a value is present, otherwise do nothing.
| Parameters | |
|---|---|
consumer |
DoubleConsumer: block to be executed if a value is present |
| Throws | |
|---|---|
NullPointerException |
if value is present and consumer is
null |
isPresent
public boolean isPresent ()
Return true if there is a value present, otherwise false.
| Returns | |
|---|---|
boolean |
true if there is a value present, otherwise false |
of
public static OptionalDouble of (double value)
Return an OptionalDouble with the specified value present.
| Parameters | |
|---|---|
value |
double: the value to be present |
| Returns | |
|---|---|
OptionalDouble |
an OptionalDouble with the value present |
orElse
public double orElse (double other)
Return the value if present, otherwise return other.
| Parameters | |
|---|---|
other |
double: the value to be returned if there is no value present |
| Returns | |
|---|---|
double |
the value, if present, otherwise other |
orElseGet
public double orElseGet (DoubleSupplier other)
Return the value if present, otherwise invoke other and return
the result of that invocation.
| Parameters | |
|---|---|
other |
DoubleSupplier: a DoubleSupplier whose result is returned if no value
is present |
| Returns | |
|---|---|
double |
the value if present otherwise the result of other.getAsDouble() |
| Throws | |
|---|---|
NullPointerException |
if value is not present and other is
null |
orElseThrow
public double orElseThrow (Supplier<X> exceptionSupplier)
Return the contained value, if present, otherwise throw an exception to be created by the provided supplier.
API Note:
- A method reference to the exception constructor with an empty
argument list can be used as the supplier. For example,
IllegalStateException::new
| Parameters | |
|---|---|
exceptionSupplier |
Supplier: The supplier which will return the exception to
be thrown |
| Returns | |
|---|---|
double |
the present value |
| Throws | |
|---|---|
|
if there is no value present |
NullPointerException |
if no value is present and
exceptionSupplier is null |
Throwable |
|
toString
public String toString ()
Returns a string representation of the object. In general, the
toString method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
Returns a non-empty string representation of this object suitable for debugging. The exact presentation format is unspecified and may vary between implementations and versions.getClass().getName() + '@' + Integer.toHexString(hashCode())
Implementation Requirements:
- If a value is present the result must include its string representation in the result. Empty and present instances must be unambiguously differentiable.
| Returns | |
|---|---|
String |
the string representation of this instance |