static <T> Optional<T>
empty()
Returns an empty Optional
instance.
boolean
equals(Object obj)
Indicates whether some other object is "equal to" this Optional
.
Optional<T>
filter(Predicate<? super T> predicate)
If a value is present, and the value matches the given predicate, returns an Optional
describing the value, otherwise returns an empty Optional
.
<U> Optional<U>
flatMap(Function<? super T,? extends Optional<? extends U>> mapper)
If a value is present, returns the result of applying the given Optional
-bearing mapping function to the value, otherwise returns an empty Optional
.
T
get()
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(Consumer<? super T> action)
If a value is present, performs the given action with the value, otherwise does nothing.
void
ifPresentOrElse(Consumer<? super T> 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
.
<U> Optional<U>
map(Function<? super T,? extends U> mapper)
If a value is present, returns an
Optional
describing (as if by
ofNullable(T)
) the result of applying the given mapping function to the value, otherwise returns an empty
Optional
.
static <T> Optional<T>
of(T value)
Returns an Optional
describing the given non-null
value.
static <T> Optional<T>
ofNullable(T value)
Returns an Optional
describing the given value, if non-null
, otherwise returns an empty Optional
.
Optional<T>
or(Supplier<? extends Optional<? extends T>> supplier)
If a value is present, returns an Optional
describing the value, otherwise returns an Optional
produced by the supplying function.
T
orElse(T other)
If a value is present, returns the value, otherwise returns other
.
T
orElseGet(Supplier<? extends T> supplier)
If a value is present, returns the value, otherwise returns the result produced by the supplying function.
<X extends Throwable>
T
orElseThrow(Supplier<? extends X> exceptionSupplier)
If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function.
Stream<T>
stream()
If a value is present, returns a sequential
Stream
containing only that value, otherwise returns an empty
Stream
.
String
toString()
Returns a non-empty string representation of this Optional
suitable for debugging.
public static <T> Optional<T> empty()
Returns an empty Optional
instance. No value is present for this Optional
.
==
against instances returned by Optional.empty()
. There is no guarantee that it is a singleton. Instead, use isPresent()
.
T
- The type of the non-existent value
Optional
public static <T> Optional<T> of(T value)
Returns an Optional
describing the given non-null
value.
T
- the type of the value
value
- the value to describe, which must be non-null
Optional
with the value present
NullPointerException
- if value is null
public static <T> Optional<T> ofNullable(T value)
Returns an Optional
describing the given value, if non-null
, otherwise returns an empty Optional
.
T
- the type of the value
value
- the possibly-null
value to describe
Optional
with a present value if the specified value is non-null
, otherwise an empty Optional
public T get()
If a value is present, returns the value, otherwise throws NoSuchElementException
.
orElse
and orElseGet
are generally preferable to this method, as they return a substitute value if the value is absent, instead of throwing an exception.
null
value described by this Optional
NoSuchElementException
- if no value is present
isPresent()
public boolean isPresent()
If a value is present, returns true
, otherwise false
.
true
if a value is present, otherwise false
public void ifPresent(Consumer<? super T> action)
If a value is present, performs the given action with the value, otherwise does nothing.
action
- the action to be performed, if a value is present
NullPointerException
- if value is present and the given action is null
public void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)
If a value is present, performs the given action with the value, otherwise performs the given empty-based action.
action
- the action to be performed, if a value is present
emptyAction
- the empty-based action to be performed, if no value is present
NullPointerException
- 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 Optional<T> filter(Predicate<? super T> predicate)
If a value is present, and the value matches the given predicate, returns an Optional
describing the value, otherwise returns an empty Optional
.
predicate
- the predicate to apply to a value, if present
Optional
describing the value of this Optional
, if a value is present and the value matches the given predicate, otherwise an empty Optional
NullPointerException
- if the predicate is null
public <U> Optional<U> map(Function<? super T,? extends U> mapper)
If a value is present, returns an
Optional
describing (as if by
ofNullable(T)
) the result of applying the given mapping function to the value, otherwise returns an empty
Optional
.
If the mapping function returns a null
result then this method returns an empty Optional
.
Optional
values, without the need to explicitly check for a return status. For example, the following code traverses a stream of URIs, selects one that has not yet been processed, and creates a path from that URI, returning an Optional<Path>
:
Optional<Path> p =
uris.stream().filter(uri -> !isProcessedYet(uri))
.findFirst()
.map(Paths::get);
Here, findFirst
returns an Optional<URI>
, and then map
returns an Optional<Path>
for the desired URI if one exists.
U
- The type of the value returned from the mapping function
mapper
- the mapping function to apply to a value, if present
Optional
describing the result of applying a mapping function to the value of this Optional
, if a value is present, otherwise an empty Optional
NullPointerException
- if the mapping function is null
public <U> Optional<U> flatMap(Function<? super T,? extends Optional<? extends U>> mapper)
If a value is present, returns the result of applying the given
Optional
-bearing mapping function to the value, otherwise returns an empty
Optional
.
This method is similar to map(Function)
, but the mapping function is one whose result is already an Optional
, and if invoked, flatMap
does not wrap it within an additional Optional
.
U
- The type of value of the Optional
returned by the mapping function
mapper
- the mapping function to apply to a value, if present
Optional
-bearing mapping function to the value of this Optional
, if a value is present, otherwise an empty Optional
NullPointerException
- if the mapping function is null
or returns a null
result
public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier)
If a value is present, returns an Optional
describing the value, otherwise returns an Optional
produced by the supplying function.
supplier
- the supplying function that produces an Optional
to be returned
Optional
describing the value of this Optional
, if a value is present, otherwise an Optional
produced by the supplying function.
NullPointerException
- if the supplying function is null
or produces a null
result
public Stream<T> stream()
If a value is present, returns a sequential
Stream
containing only that value, otherwise returns an empty
Stream
.
Stream
of optional elements to a Stream
of present value elements:
Stream<Optional<T>> os = ..
Stream<T> s = os.flatMap(Optional::stream)
Stream
public T orElse(T other)
If a value is present, returns the value, otherwise returns other
.
other
- the value to be returned, if no value is present. May be null
.
other
public T orElseGet(Supplier<? extends T> supplier)
If a value is present, returns the value, otherwise returns the result produced by the supplying function.
supplier
- the supplying function that produces a value to be returned
NullPointerException
- if no value is present and the supplying function is null
public <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) throws X extends Throwable
If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function.
IllegalStateException::new
X
- Type of the exception to be thrown
exceptionSupplier
- the supplying function that produces an exception to be thrown
X
- if no value is present
NullPointerException
- if no value is present and the exception supplying function is null
X extends Throwable
public boolean equals(Object obj)
Indicates whether some other object is "equal to" this
Optional
. The other object is considered equal if:
Optional
and;equals()
.equals
in class Object
obj
- an object to be tested for equality
true
if the other object is "equal to" this object otherwise false
Object.hashCode()
, HashMap
public int hashCode()
Returns the hash code of the value, if present, otherwise 0
(zero) if no value is present.
hashCode
in class Object
0
if no value is present
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
Returns a non-empty string representation of this Optional
suitable for debugging. The exact presentation format is unspecified and may vary between implementations and versions.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4