Запасное значение orElse в Java
Метод orElse принимает запасное значение и
возвращает его, когда контейнер пуст. Если значение
есть, наружу уходит содержимое контейнера, аргумент
не используется.
Запас задают заранее, еще до вызова:
import java.util.Optional;
Optional<String> nick = Optional.empty();
String shown = nick.orElse("anonymous");
System.out.println(shown);
Optional<String> filled = Optional.of("Ann");
System.out.println(filled.orElse("anonymous"));
Аргумент orElse вычисляется всегда, даже когда
контейнер не пуст. Тяжелый расчет или обращение к базе
лучше не класть сюда напрямую - для отложенного
вычисления есть orElseGet.
Для пустого контейнера выведите "none".
Для контейнера со строкой "ok" выведите
само значение и убедитесь, что запас не подставился.