Optional

A container object that may or may not contain a non-null value. Avoids NullPointerException by making nullability explicit.

Syntax

java
Optional<Type> opt = Optional.of(value);
Optional<Type> empty = Optional.empty();

Example

java
Optional<String> name = Optional.ofNullable(getUserName());
String result = name.orElse("Anonymous");
name.ifPresent(n -> System.out.println("Hello, " + n));
String upper = name.map(String::toUpperCase).orElse("N/A");