РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
562 of 1163 menu

Метод or

Метод or возвращает текущий объект Optional, если он содержит значение. Если текущий объект пуст, метод возвращает Optional, созданный с помощью функции-поставщика Supplier. В параметр мы передаем Supplier, который возвращает новый Optional для использования в случае отсутствия значения. Метод позволяет строить цепочки альтернативных источников данных.

Синтаксис

optional.or(Supplier<? extends Optional<? extends T>> supplier)

Пример

Давайте создадим непустой Optional и вызовем метод or. Так как значение присутствует, вернется исходный Optional:

import java.util.Optional; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.of("abcde"); Optional<String> res = opt.or(() -> Optional.of("12345")); System.out.println(res); } }

Результат выполнения кода:

Optional[abcde]

Пример

Давайте создадим пустой Optional и вызовем метод or. Так как значение отсутствует, вернется Optional, созданный в Supplier:

import java.util.Optional; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.empty(); Optional<String> res = opt.or(() -> Optional.of("12345")); System.out.println(res); } }

Результат выполнения кода:

Optional[12345]

Пример

Давайте создадим цепочку из трех Optional, где первые два пустые, а третий содержит значение:

import java.util.Optional; public class Main { public static void main(String[] args) { Optional<String> first = Optional.empty(); Optional<String> second = Optional.empty(); Optional<String> third = Optional.of("abcde"); Optional<String> res = first .or(() -> second) .or(() -> third); System.out.println(res); } }

Результат выполнения кода:

Optional[abcde]

Смотрите также

  • метод orElse,
    который возвращает значение или запасное значение
  • метод orElseGet,
    который возвращает значение или результат Supplier
  • метод of,
    который создает Optional с значением
  • метод empty,
    который создает пустой Optional
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить