Что такое Optional

«Что такое Optional» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Optional — это контейнерный класс в Java (и Kotlin), который может содержать или не содержать значение. Он помогает избежать NullPointerException, явно указывая на возможное отсутствие значения.

В Kotlin аналог — nullable типы (Type?), но Optional иногда используют для совместимости с Java-библиотеками.

Пример (Kotlin):

val optionalValue: Optional<String> = Optional.of("Hello")
val emptyOptional: Optional<String> = Optional.empty()

optionalValue.ifPresent { println(it) } // Выведет "Hello"
println(emptyOptional.orElse("Default")) // "Default"

Ключевые методы:

  • isPresent() — проверка наличия значения
  • get() — получение значения (кидает исключение если пусто)
  • orElse() — значение или дефолт
  • ifPresent() — выполнить действие, если значение есть

Видео-ответы