Encodera

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

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

Справочник Java

Consumer

Действие: принимает значение и ничего не возвращает.

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

Синтаксис

@FunctionalInterface
public interface Consumer<T> {
    void accept(T t);
}

Примеры

Действие и цепочка действий:

void main() {
    List<String> log = new ArrayList<>();
    Consumer<String> print = s -> IO.println("> " + s);
    Consumer<String> save = log::add;
    print.andThen(save).accept("started");
    IO.println(log);
}

Результат:

> started
[started]

Примечания

Принимается в forEach() и ifPresent(). andThen() склеивает несколько действий в одно. Для двух аргументов есть BiConsumer, для примитивов — IntConsumer.

См. также

  • Supplier — Поставщик: функция без аргументов, которая возвращает значение.
  • Stream.forEach() — Выполняет действие для каждого элемента потока (завершающая операция).
  • Optional.ifPresent() — Выполняет действие, только если значение есть.

В учебнике

  • Функциональные интерфейсы — Функциональные интерфейсы в Java: аннотация @FunctionalInterface, стандартные Function, Predicate, Consumer, Supplier и их комбинирование.

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

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