public final class OptionalInt extends 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(Object
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
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
Return the value if present, otherwise invoke
other and return the result of that invocation.
|
<X extends Throwable |
orElseThrow(Supplier
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.
|
public static OptionalIntempty()
OptionalInt instance. No value is present for this OptionalInt.
OptionalInt
public static OptionalIntof(int value)
OptionalInt with the specified value present.
value - the value to be present
OptionalInt with the value present
public int getAsInt()
OptionalInt, returns the value, otherwise throws
NoSuchElementException.
OptionalInt
NoSuchElementException - if there is no value present
isPresent()
public boolean isPresent()
true if there is a value present, otherwise
false.
true if there is a value present, otherwise
false
public void ifPresent(IntConsumerconsumer)
consumer - block to be executed if a value is present
NullPointerException - if value is present and
consumer is null
public int orElse(int other)
other.
other - the value to be returned if there is no value present
other
public int orElseGet(IntSupplierother)
other and return the result of that invocation.
other - a
IntSupplier whose result is returned if no value is present
other.getAsInt()
NullPointerException - if value is not present and
other is null
public <X extends Throwable> int orElseThrow(Supplier <X> exceptionSupplier) throws X extends Throwable
X - Type of the exception to be thrown
exceptionSupplier - The supplier which will return the exception to be thrown
X - if there is no value present
NullPointerException - if no value is present and
exceptionSupplier is null
X extends Throwable
public boolean equals(Objectobj)
OptionalInt and; ==. equals in class
Object
obj - an object to be tested for equality
false
Object.hashCode() ,
HashMap
public int hashCode()
hashCode in class
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public StringtoString()
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())