Optional<T> class
abstract
A container object which may contain a non-null value.
Offers several methods which depend on the presence or absence of a contained value.
- Implemented types
-
- Iterable<
T>
- Iterable<
- Available extensions
Constructors
- Optional.empty()
-
Creates an empty Optional.
constfactory
- Optional.of(T value)
-
Creates a new Optional with the given non-null value.
factory
- Optional.ofNullable(T? value)
-
Creates a new Optional with the given value, if non-null. Otherwise, returns an empty Optional.
factory
Properties
- first → T
-
The first element.
no setterinherited
- hashCode → int
-
The hashCode of this Optional's value, if present. Otherwise, 0.
no setteroverride
- isEmpty → bool
-
Whether this collection has no elements.
no setterinherited
- isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
- isPresent → bool
-
Whether the Optional has a value.
no setter
-
iterator
→ Iterator<
T> -
A new
Iterator
that allows iterating the elements of thisIterable
.no setterinherited - last → T
-
The last element.
no setterinherited
- length → int
-
The number of elements in this Iterable.
no setterinherited
- orElseNull → T?
-
Returns this Optional's value, if present, as nullable. Otherwise, returns null.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → T
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
- value → T
-
The value associated with this Optional, if any.
no setter
Methods
-
any(
bool test(T element)) → bool -
Checks whether any element of this iterable satisfies
test
.inherited -
cast<
R> () → Optional< R> -
Returns a view of this Optional as an Optional with an
R
valueoverride -
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element
.inherited -
elementAt(
int index) → T -
Returns the
index
th element.inherited -
every(
bool test(T element)) → bool -
Checks whether every element of this iterable satisfies
test
.inherited -
expand<
T> (Iterable< T> toElements(T element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
filter(
bool predicate(T)) → Optional< T> - Returns an Optional with this Optional's value, if there is a value present and it matches the predicate. Otherwise, returns an empty Optional.
-
firstWhere(
bool test(T element), {T orElse()?}) → T -
The first element that satisfies the given predicate
test
.inherited -
flatMap<
R> (Optional< R> mapper(T)) → Optional<R> - Returns an Optional provided by applying the mapper to this Optional's value, if present. Otherwise, returns an empty Optional.
-
fold<
T> (T initialValue, T combine(T previousValue, T element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< T> other) → Iterable<T> -
Creates the lazy concatenation of this iterable and
other
.inherited -
forEach(
void action(T element)) → void -
Invokes
action
on each element of this iterable in iteration order.inherited -
ifPresent(
void consume(T), {void orElse()}) → void - Invokes consume() with this Optional's value, if present. Otherwise, if orElse is passed, invokes it, otherwise does nothing.
-
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastWhere(
bool test(T element), {T orElse()?}) → T -
The last element that satisfies the given predicate
test
.inherited -
map<
R> (R mapper(T)) → Optional< R> -
Returns an Optional containing the result of applying the mapper to this Optional's value, if present. Otherwise, returns an empty Optional.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
orElse(
T other) → T - Returns this Optional's value, if present. Otherwise, returns other.
-
orElseGet(
T supply()) → T - Returns this Optional's value, if present. Otherwise, returns the result of calling supply().
-
orElseGetAsync(
Future< T> supply()) → Future<T> - Returns this Optional's value, if present. Otherwise, returns the result of calling supply() asynchronously.
-
orElseGetNullable(
T? supply()) → T? - Returns this Optional's value, if present, as nullable. Otherwise, returns the result of calling supply().
-
orElseGetNullableAsync(
Future< T?> supply()) → Future<T?> - Returns this Optional's value, if present, as nullable. Otherwise, returns the result of calling supply() asynchronously.
-
orElseNullable(
T? other) → T? - Returns this Optional's value, if present, as nullable. Otherwise, returns other.
-
orElseThrow(
Object supplyError()) → T - Returns this Optional's value, if present. Otherwise, throws the result of calling supplyError().
-
reduce(
T combine(T value, T element)) → T -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
singleWhere(
bool test(T element), {T orElse()?}) → T -
The single element that satisfies
test
.inherited -
skip(
int count) → Iterable< T> -
Creates an Iterable that provides all but the first
count
elements.inherited -
skipWhile(
bool test(T value)) → Iterable< T> -
Creates an
Iterable
that skips leading elements whiletest
is satisfied.inherited -
take(
int count) → Iterable< T> -
Creates a lazy iterable of the
count
first elements of this iterable.inherited -
takeWhile(
bool test(T value)) → Iterable< T> -
Creates a lazy iterable of the leading elements satisfying
test
.inherited -
toList(
{bool growable = true}) → List< T> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< T> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
where(
bool test(T element)) → Iterable< T> -
Creates a new lazy Iterable with all elements that satisfy the
predicate
test
.inherited -
whereType<
T> () → Iterable< T> -
Creates a new lazy Iterable with all elements that have type
T
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override