Dernière modification : 24/08/2022

Consumer - Java 8

 

Il s'agit d'une interface fonctionnelle et peut donc être utilisée comme cible d'affectation pour une expression lambda ou une référence de méthode.

La définition d'un Consumer est "void accept(T t)". Le Consumer a un seul argument et ne retourne aucun objet.

@FunctionalInterface
public interface Consumer {
    void accept(T t);
    // ...
}

 

1. Exemple du Consumer

Dans cet exemple nous alors utiliser le type String. Par conséquent, on aura Consumer.

// Référence
final Consumer print1 = System.out::println;
print1.accept("Alex"); // Alex

// Avec lambda
final Consumer print2 = x -> System.out.println(x);
print1.accept("Claire"); // Claire

2. Consumer avec un Stream

IntStream.range(0, 5).forEach(System.out::print); // 01234