Интерфейс Consumer

Урок 14

Интерфейс Consumer


Consumer<T> встроенный функциональный интерфейс, добавленный в Java SE 8 в пакет java.util.function. Принимает значение в качестве аргумента и ничего не возвращает.

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

Функциональный дескриптор интерфейса:

 

T -> void

Пример 1. Использование интерфейса Consumer

import java.util.function.Consumer;

public class ConsumerDemo1 {
    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)

Пример 2. Использование интерфейса Consumer

import java.util.function.Consumer;

public class ConsumerDemo1 {
    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");
    }
}

 

Источник: Chapter TEN - Java Built-In Lambda Interfaces, Java 8 Programmer II Study Guide by Esteban Herrera.



0 comments
Leave your comment: