Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Optional.ifPresent()

Выполняет действие, только если значение есть.

Доступно с: Java 8

Синтаксис

void ifPresent(Consumer<? super T> action)
void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)

Параметры

ПараметрТипОписание
actionConsumer<? super T>Действие со значением, если оно есть.
emptyActionRunnableДействие, если значения нет (только у `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.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.