public final class OptionalInt extends Object
int value. If a
value is present, isPresent() returns true and
getAsInt() returns the value.
Additional methods that depend on the presence or absence of a contained
value are provided, such as orElse()
(returns a default value if no value is present) and
ifPresent() (performs an
action if a 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 obj)
Indicates whether some other object is "equal to" this
OptionalInt. |
int |
getAsInt()
If a value is present, returns the value, otherwise throws
NoSuchElementException. |
int |
hashCode()
Returns the hash code of the value, if present, otherwise
0
(zero) if no value is present. |
void |
ifPresent(IntConsumer action)
If a value is present, performs the given action with the value,
otherwise does nothing.
|
void |
ifPresentOrElse(IntConsumer action,
Runnable emptyAction)
If a value is present, performs the given action with the value,
otherwise performs the given empty-based action.
|
boolean |
isPresent()
If a value is present, returns
true, otherwise false. |
static OptionalInt |
of(int value)
Returns an
OptionalInt describing the given value. |
int |
orElse(int other)
If a value is present, returns the value, otherwise returns
other. |
int |
orElseGet(IntSupplier supplier)
If a value is present, returns the value, otherwise returns the result
produced by the supplying function.
|
<X extends Throwable> |
orElseThrow(Supplier<? extends X> exceptionSupplier)
If a value is present, returns the value, otherwise throws an exception
produced by the exception supplying function.
|
IntStream |
stream()
If a value is present, returns a sequential
IntStream containing
only that value, otherwise returns an empty IntStream. |
String |
toString()
Returns a non-empty string representation of this
OptionalInt
suitable for debugging. |
public static OptionalInt empty()
OptionalInt instance. No value is present for
this OptionalInt.== against instances returned by
OptionalInt.empty(). There is no guarantee that it is a singleton.
Instead, use isPresent().OptionalIntpublic static OptionalInt of(int value)
OptionalInt describing the given value.value - the value to describeOptionalInt with the value presentpublic int getAsInt()
NoSuchElementException.OptionalIntNoSuchElementException - if no value is presentisPresent()public boolean isPresent()
true, otherwise false.true if a value is present, otherwise falsepublic void ifPresent(IntConsumer action)
action - the action to be performed, if a value is presentNullPointerException - if value is present and the given action is
nullpublic void ifPresentOrElse(IntConsumer action, Runnable emptyAction)
action - the action to be performed, if a value is presentemptyAction - the empty-based action to be performed, if no value is
presentNullPointerException - if a value is present and the given action
is null, or no value is present and the given empty-based
action is null.public IntStream stream()
IntStream containing
only that value, otherwise returns an empty IntStream.Stream of optional
integers to an IntStream of present integers:
Stream<OptionalInt> os = ..
IntStream s = os.flatMapToInt(OptionalInt::stream)
IntStreampublic int orElse(int other)
other.other - the value to be returned, if no value is presentotherpublic int orElseGet(IntSupplier supplier)
supplier - the supplying function that produces a value to be returnedNullPointerException - if no value is present and the supplying
function is nullpublic <X extends Throwable> int orElseThrow(Supplier<? extends X> exceptionSupplier) throws X extends Throwable
IllegalStateException::newX - Type of the exception to be thrownexceptionSupplier - the supplying function that produces an
exception to be thrownX - if no value is presentNullPointerException - if no value is present and the exception
supplying function is nullX extends Throwablepublic boolean equals(Object obj)
OptionalInt. The other object is considered equal if:
OptionalInt and;
==.
equals in class Objectobj - an object to be tested for equalitytrue if the other object is "equal to" this object
otherwise falseObject.hashCode(),
HashMappublic int hashCode()
0
(zero) if no value is present.hashCode in class Object0 if no value is
presentObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)public String toString()
OptionalInt
suitable for debugging. The exact presentation format is unspecified and
may vary between implementations and versions. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.
DRAFT 9-internal+0-2016-01-26-133437.ivan.openjdk9onspinwait