Middle
¿Qué son las expresiones lambda en Java?
sobes.tech AI
Respuesta de la IA
La expresión lambda en Java es una función anónima. Permite tratar la funcionalidad como un argumento de método o como código como datos.
Características principales:
- Anónima: No tiene nombre.
- Interfaz funcional: La expresión lambda siempre está relacionada con una interfaz funcional (interfaz con un único método abstracto).
- Sintaxis:
(parámetros) -> { cuerpo }
Ejemplo de uso con la interfaz funcional Consumer:
import java.util.function.Consumer;
// La interfaz funcional Consumer<T> tiene un método abstracto accept(T t)
Consumer<String> saludo = (nombre) -> {
System.out.println("Hola, " + nombre);
};
saludo.accept("Mundo"); // Salida: Hola, Mundo
Ejemplo de uso con la interfaz Runnable:
// La interfaz Runnable tiene un método abstracto run()
Runnable tarea = () -> {
System.out.println("La tarea se ejecuta en un hilo separado");
};
new Thread(tarea).start(); // Inicia la tarea en un nuevo hilo
Variantes de sintaxis:
- Sin parámetros:
() -> { System.out.println("Hola"); } - Un parámetro sin paréntesis:
nombre -> System.out.println("Hola, " + nombre) - Varios parámetros con paréntesis y tipos:
(int a, int b) -> { return a + b; } - Varios parámetros sin tipos (tipo inferido):
(a, b) -> a + b - Cuerpo de una sola línea sin
return:(a, b) -> a + b - Cuerpo de varias líneas con llaves y
return(si es necesario):(a, b) -> { int suma = a + b; return suma; }
Las expresiones lambda hacen que el código sea más compacto, legible y permiten usar programación funcional en Java.