Middle
26
0
questionbank

Что вы знаете о классе Optional?

Answer from sobes.tech neural network

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.

javaoptionalnullable-typesabsent-valuenull-safety