Java : Consumer con ejemplos

Consumer (Java SE 21 & JDK 21) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de Consumer<T>.

Nota :


Summary

Representa una operación que acepta un único argumento de entrada y no devuelve ningún resultado. A diferencia de la mayoría de las otras interfaces funcionales, se espera que Consumer funcione mediante efectos secundarios. (Traducción automática)

Class diagram

final var stream = Stream.of("a", "b", "c");

final var action = new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s.toUpperCase().repeat(3));
    }
};

System.out.println("-- forEach --");
stream.forEach(action);

// Result
// ↓
//-- forEach --
//AAA
//BBB
//CCC
// An example with a lambda expression.
final var stream = Stream.of("a", "b", "c");

System.out.println("-- forEach --");
stream.forEach(s -> {
    System.out.println(s.toUpperCase().repeat(3));
});

// Result
// ↓
//-- forEach --
//AAA
//BBB
//CCC

Methods

void accept (T t)

Realiza esta operación sobre el argumento dado. (Traducción automática)

final var stream = Stream.of("a", "b", "c");

final var action = new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s.toUpperCase().repeat(3));
    }
};

System.out.println("-- forEach --");
stream.forEach(action);

// Result
// ↓
//-- forEach --
//AAA
//BBB
//CCC
// An example with a lambda expression.
final var stream = Stream.of("a", "b", "c");

System.out.println("-- forEach --");
stream.forEach(s -> {
    System.out.println(s.toUpperCase().repeat(3));
});

// Result
// ↓
//-- forEach --
//AAA
//BBB
//CCC

default Consumer<T> andThen (Consumer<? super T> after)

Devuelve un consumidor compuesto que realiza, en secuencia, esta operación seguida de la operación posterior. (Traducción automática)

final var consumer1 = new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s);
    }
};

final var after = new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s.toUpperCase());
    }
};

final var consumer2 = consumer1.andThen(after);

System.out.println("-- accept --");
consumer2.accept("abcd");

// Result
// ↓
//-- accept --
//abcd
//ABCD
final var consumer1 = new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println("  consumer1 accept!");
        if (s == null) {
            throw new IllegalArgumentException("s is null");
        }
    }
};

final var after = new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println("  after accept!");
    }
};

final var consumer2 = consumer1.andThen(after);

try {
    System.out.println("-- accept null --");
    consumer2.accept(null);
} catch (IllegalArgumentException e) {
    System.out.println("IllegalArgumentException! : " + e.getMessage());
}

// Result
// ↓
//-- accept null --
//  consumer1 accept!
//IllegalArgumentException! : s is null

Related posts

To top of page