Вопрос проверяет умение использовать Optional для безопасной работы с потенциально отсутствующими значениями.
Optional — это контейнер для значения, которое может быть null. Он предоставляет методы для безопасной обработки (isPresent(), orElse(), ifPresent()), избегая явных проверок на null.
Optional в Java позволяет явно обозначить, что значение может отсутствовать.
Основные методы:
Проверка наличия значения:
Optional<String> opt = Optional.ofNullable(getName());
if (opt.isPresent()) {
System.out.println(opt.get());
}Значение по умолчанию:
String name = opt.orElse("default");Ленивая обработка:
opt.ifPresent(name -> System.out.println(name));Пример замены null-проверок:
// Старый стиль (риск NPE)
String name = getName();
if (name != null) {
System.out.println(name);
}
// С Optional
Optional.ofNullable(getName())
.ifPresent(System.out::println);Когда использовать:
Для возврата значений из методов, где результат может отсутствовать.
Для цепочек вызовов, чтобы избегать null.