orElse method
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.
Returns the value, if present, otherwise other
.
Example
Optional<String> name = Optional.of("Jack");
Optional<String> empty = Optional.empty();
print(name.orElse("Unknown")); // "Jack"
print(empty.orElse("Unknown")); // "Unknown"
// Can provide null as default
String? result = empty.orElse(null);
print(result); // null
// Useful for providing defaults
String getUserName(Optional<String> optionalName) {
return optionalName.orElse("Guest");
}
// With complex objects
class Config {
final String host;
final int port;
Config(this.host, this.port);
}
Optional<Config> userConfig = Optional.empty();
Config defaultConfig = Config("localhost", 8080);
Config config = userConfig.orElse(defaultConfig);
Implementation
T? orElse(T? other) {
return _value != null ? _value as T : other;
}