public final class OptionalInt
extends java.lang.Object
int value.
If a value is present, isPresent() will return true and
getAsInt() 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).
This is a value-based
class; use of identity-sensitive operations (including reference equality
(==), identity hash code, or synchronization) on instances of
OptionalInt may have unpredictable results and should be avoided.
| Modifier and Type | Method and Description |
|---|---|
static OptionalInt |
empty()
Returns an empty
OptionalInt instance. |
boolean |
equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this OptionalInt.
|
int |
getAsInt()
If a value is present in this
OptionalInt, 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(IntConsumer 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 OptionalInt |
of(int value)
Return an
OptionalInt with the specified value present. |
int |
orElse(int other)
Return the value if present, otherwise return
other. |
int |
orElseGet(IntSupplier other)
Return the value if present, otherwise invoke
other and return
the result of that invocation. |
<X extends java.lang.Throwable> |
orElseThrow(Supplier<X> exceptionSupplier)
Return the contained value, if present, otherwise throw an exception
to be created by the provided supplier.
|
java.lang.String |
toString()
Returns a non-empty string representation of this object suitable for
debugging.
|
public static OptionalInt empty()
OptionalInt instance. No value is present for this
OptionalInt.
API Note:
Though it may be tempting to do so, avoid testing if an object
is empty by comparing with == against instances returned by
Option.empty(). There is no guarantee that it is a singleton.
Instead, use isPresent().
OptionalIntpublic static OptionalInt of(int value)
OptionalInt with the specified value present.value - the value to be presentOptionalInt with the value presentpublic int getAsInt()
OptionalInt, returns the value,
otherwise throws NoSuchElementException.OptionalIntjava.util.NoSuchElementException - if there is no value presentisPresent()public boolean isPresent()
true if there is a value present, otherwise false.true if there is a value present, otherwise falsepublic void ifPresent(IntConsumer consumer)
consumer - block to be executed if a value is presentjava.lang.NullPointerException - if value is present and consumer is
nullpublic int orElse(int other)
other.other - the value to be returned if there is no value presentotherpublic int orElseGet(IntSupplier other)
other and return
the result of that invocation.other - a IntSupplier whose result is returned if no value
is presentother.getAsInt()java.lang.NullPointerException - if value is not present and other is
nullpublic <X extends java.lang.Throwable> int orElseThrow(Supplier<X> exceptionSupplier) throws X extends java.lang.Throwable
API Note:
A method reference to the exception constructor with an empty
argument list can be used as the supplier. For example,
IllegalStateException::new
X - Type of the exception to be thrownexceptionSupplier - The supplier which will return the exception to
be thrownX - if there is no value presentjava.lang.NullPointerException - if no value is present and
exceptionSupplier is nullX extends java.lang.Throwablepublic boolean equals(java.lang.Object obj)
OptionalInt and;
==.
equals in class java.lang.Objectobj - an object to be tested for equalityfalsepublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
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.
toString in class java.lang.Object