Optional<T>
- это контейнерный класс, который может содержать либо непустое значение типа T
, либо быть пустым. Был добавлен в Java 8 для решения проблемы null-указателей.
Основные методы:
of(T value)
: Создает Optional
с непустым значением. Бросает NullPointerException
если значение null
.ofNullable(T value)
: Создает Optional
с непустым значением, если оно есть, или пустой Optional
если значение null
.empty()
: Создает пустой Optional
.isPresent()
: Возвращает true
, если значение присутствует, иначе false
.isEmpty()
: Возвращает true
, если значение отсутствует, иначе false
(добавлено в Java 11).get()
: Возвращает значение, если оно присутствует, иначе бросает NoSuchElementException
.orElse(T other)
: Возвращает значение, если оно присутствует, иначе возвращает other
.orElseGet(Supplier<? extends T> other)
: Возвращает значение, если оно присутствует, иначе возвращает результат выполнения Supplier
. Предпочтительнее orElse(T other)
при дорогостоящей инициализации other
.orElseThrow(Supplier<? extends X> exceptionSupplier)
:Optional<T>
- это контейнерный класс, который может содержать либо непустое значение типа T
, либо быть пустым. Был добавлен в Java 8 для решения проблемы null-указателей.
Основные методы:
of(T value)
: Создает Optional
с непустым значением. Бросает NullPointerException
если значение null
.ofNullable(T value)
: Создает Optional
с непустым значением, если оно есть, или пустой Optional
если значение null
.empty()
: Создает пустой Optional
.isPresent()
: Возвращает true
, если значение присутствует, иначе false
.isEmpty()
: Возвращает true
, если значение отсутствует, иначе false
(добавлено в Java 11).get()
: Возвращает значение, если оно присутствует, иначе бросает NoSuchElementException
.orElse(T other)
: Возвращает значение, если оно присутствует, иначе возвращает other
.orElseGet(Supplier<? extends T> other)
: Возвращает значение, если оно присутствует, иначе возвращает результат выполнения Supplier
. Предпочтительнее orElse(T other)
при дорогостоящей инициализации other
.orElseThrow(Supplier<? extends X> exceptionSupplier)
:Register or sign in to get access to full answers for all questions from the question bank.