Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: optional, null safety, monad

Как обрабатывать Optional вместо проверок на null?

Вопрос проверяет умение использовать Optional для безопасной работы с потенциально отсутствующими значениями.

Короткий ответ

Optional — это контейнер для значения, которое может быть null. Он предоставляет методы для безопасной обработки (isPresent(), orElse(), ifPresent()), избегая явных проверок на null.

Длинный ответ

Optional в Java позволяет явно обозначить, что значение может отсутствовать.

Основные методы:

  1. Проверка наличия значения:

    Optional<String> opt = Optional.ofNullable(getName());
    if (opt.isPresent()) {
        System.out.println(opt.get());
    }
  2. Значение по умолчанию:

    String name = opt.orElse("default");
  3. Ленивая обработка:

    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.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#optional

#null safety

#monad

Подпишись на Java Developer в телеграм