Optional.ifPresent()
Выполняет действие, только если значение есть.
Доступно с: Java 8
Синтаксис
void ifPresent(Consumer<? super T> action)
void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| action | Consumer<? super T> | Действие со значением, если оно есть. |
| emptyAction | Runnable | Действие, если значения нет (только у `ifPresentOrElse`, Java 9). |
Примеры
Действие и запасная ветка:
void main() {
Optional<String> user = Optional.of("Anna");
user.ifPresent(u -> IO.println("Hello, " + u));
Optional.<String>empty().ifPresentOrElse(
u -> IO.println("Hello, " + u),
() -> IO.println("Hello, guest"));
}Результат:
Hello, Anna
Hello, guestПримечания
Если значения нет, ifPresent() просто ничего не делает. Метод ничего не возвращает; чтобы получить значение с запасным вариантом, используйте orElse().
См. также
- Optional.isPresent() — Проверяет, есть ли значение в `Optional`.
- Consumer — Действие: принимает значение и ничего не возвращает.
- Runnable — Задача без аргументов и без результата.
Вопросы и ответы по теме
В учебнике
- Optional — Класс Optional в Java: значение, которого может не быть, создание через of и empty, orElse, map, ifPresent и orElseThrow.