Java: Интерфейс Consumer
Consumer - встроенный функциональный интерфейс, добавленный в Java SE 8 в пакет java.util.function.
Принимает значение в качестве аргумента и ничего не возвращает:
@FunctionalInterface
public interface Consumer<T> {
void accept(T t);
}
Consumer интерфейс используется в случае, если необходимо передать объект на вход и произвести над ним некоторые операции не возвращая результат. Самый частый случай использования этого интерфейса - это вывод на консоль.
Функциональный дескриптор интерфейса:
T -> void
Следующий пример показывает использование интерфейса Consumer
для вывода на консоль строки в верхнем регистре:
import java.util.function.Consumer;
public class ConsumerExample1 {
public static void main(String[] args) {
Consumer<String> printUpperCase = str -> System.out.println(str.toUpperCase());
printUpperCase.accept("hello");
}
}
Consumer интерфейс содержит метод по умолчанию, который возвращает составной Consumer
, выполняющий последовательно действия указанные в каждом интерфейсе:
default Consumer<T> andThen(Consumer<? super T> after)
Рассмотрим пример использование метода andThen():
import java.util.function.Consumer;
public class ConsumerExample2 {
public static void main(String[] args) {
Consumer<String> printUpperCase = str -> System.out.println(str.toUpperCase());
printUpperCase.accept("hello");
Consumer<String> printLowerCase = str -> System.out.println(str.toLowerCase());
printUpperCase.andThen(printLowerCase).accept("Hello world");
}
}
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.