OptionalDouble

public final class OptionalDouble extends Object

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).

Public Method Summary

static OptionalDouble
empty()
Returns an empty OptionalDouble instance.
boolean
equals(Object obj)
Indicates whether some other object is "equal to" this OptionalDouble.
double
getAsDouble()
If a value is present in this OptionalDouble, returns the value, otherwise throws NoSuchElementException.
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 true if there is a value present, otherwise false.
static OptionalDouble
of(double value)
Return an OptionalDouble with the specified value present.
double
orElse(double other)
Return the value if present, otherwise return other.
double
orElseGet(DoubleSupplier other)
Return the value if present, otherwise invoke other and return the result of that invocation.
<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 containing a concise, human-readable description of this object. Returns a non-empty string representation of this object suitable for debugging.

Inherited Method Summary

Public Methods

public static OptionalDouble empty ()

Returns an empty OptionalDouble instance. No value is present for this OptionalDouble.

Returns
  • an empty OptionalDouble.

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 OptionalDouble and;
  • both instances have no value present or;
  • the present values are "equal to" each other via Double.compare() == 0.

Parameters
obj an object to be tested for equality
Returns
  • {code true} if the other object is "equal to" this object otherwise false

public double getAsDouble ()

If a value is present in this OptionalDouble, returns the value, otherwise throws NoSuchElementException.

Returns
  • the value held by this OptionalDouble
Throws
NoSuchElementException if there is no value present
See Also

public int hashCode ()

Returns the hash code value of the present value, if any, or 0 (zero) if no value is present.

Returns
  • hash code value of the present value or 0 if no value is present

public void ifPresent (DoubleConsumer consumer)

Have the specified consumer accept the value if a value is present, otherwise do nothing.

Parameters
consumer block to be executed if a value is present
Throws
NullPointerException if value is present and consumer is null

public boolean isPresent ()

Return true if there is a value present, otherwise false.

Returns
  • true if there is a value present, otherwise false

public static OptionalDouble of (double value)

Return an OptionalDouble with the specified value present.

Parameters
value the value to be present
Returns
  • an OptionalDouble with the value present

public double orElse (double other)

Return the value if present, otherwise return other.

Parameters
other the value to be returned if there is no value present
Returns
  • the value, if present, otherwise other

public double orElseGet (DoubleSupplier other)

Return the value if present, otherwise invoke other and return the result of that invocation.

Parameters
other a DoubleSupplier whose result is returned if no value is present
Returns
  • the value if present otherwise the result of other.getAsDouble()
Throws
NullPointerException if value is not present and other is null

public double orElseThrow (Supplier<X> exceptionSupplier)

Return the contained value, if present, otherwise throw an exception to be created by the provided supplier.

Parameters
exceptionSupplier The supplier which will return the exception to be thrown
Returns
  • the present value
Throws
if there is no value present
NullPointerException if no value is present and exceptionSupplier is null
Throwable

public String toString ()

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method. 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.

Returns
  • the string representation of this instance