Java Lambdas: Función Consumer

Breve explicación

La función Consumer<T> es una interfaz funcional en Java que acepta un solo argumento de tipo T y no devuelve ningún resultado. Se utiliza comúnmente cuando necesitamos ejecutar una operación sobre un objeto sin alterar su valor ni devolver un resultado. El método funcional de Consumer es accept(T t).

Ejemplo 1: Versión completa del cuerpo de la función Lambda
Java
package org.example.tinajero;

import java.util.function.Consumer;

public class LambdaConsumerExample {

    public static void main(String[] args) {
    	
    	  /*
         * 🛠️ Consumer
         * 💡 Recibe un valor y no retorna nada.
         */
        
        // Creamos un Consumer que imprime el valor que recibe
        Consumer<String> printMessage = (message) -> {
            // Cuerpo completo de la función, usando una declaración explícita
            System.out.println("Mensaje recibido: " + message);
        };

        // Usamos el Consumer para imprimir un mensaje
        printMessage.accept("¡Hola desde Consumer Lambda!");

        // Creamos otro Consumer que recibe un número y lo multiplica por 2
        Consumer<Integer> multiplyByTwo = (number) -> {
            // Imprime el número original y el resultado de multiplicarlo por 2
            System.out.println("Número recibido: " + number);
            System.out.println("Resultado de multiplicarlo por 2: " + (number * 2));
        };

        // Aplicamos el Consumer al número 5
        multiplyByTwo.accept(5);
    }
    
}

Ejemplo 2: Reducción de la expresión Lambda
Java
package org.example.tinajero;

import java.util.function.Consumer;

public class LambdaConsumerExampleSimplified{

    public static void main(String[] args) {
        
        /*
         * 🛠️ Consumer
         * 💡 Recibe un valor y no retorna nada.
         */
        
        // Versión simplificada del Consumer sin necesidad de tipo explícito
        Consumer<String> printMessage = message -> System.out.println("Mensaje recibido: " + message);

        // Ejecutamos el Consumer
        printMessage.accept("¡Hola desde la versión reducida de Consumer!");

        // Versión simplificada del Consumer que multiplica el número por 2
        Consumer<Integer> multiplyByTwo = number -> System.out.println("Resultado de multiplicar por 2: " + (number * 2));

        // Aplicamos el Consumer al número 10
        multiplyByTwo.accept(10);
    }
    
}