Introduccion La Expresiones Lambda - Tensho97/Aprende-a-Aprender GitHub Wiki
Una expresión Lambda es una función anónima, básicamente es un método abstracto, es decir, un método que sólo está definido en una interfaz pero no implementado, y** esa es la clave** de la funciones lambda, al no estar implementado, el programador lo puede implementar dónde el crea conveniente sin haber heredado de la interfaz.
Sintaxis
(Parémetros)->{Cuerpo}
- El operador lambda (->) separa la declaración de parámetros de la declaración del cuerpo de la función.
- Parámetros:
- Cuando se tiene un solo parámetro no es necesario utilizar los paréntesis.
- Cuando no se tienen parámetros, o cuando se tienen dos o más, es necesario utilizar paréntesis.
- Cuerpo de lambda:
- Cuando el cuerpo de la expresión lambda tiene una única línea no es necesario utilizar las llaves y no necesitan especificar la cláusula return en el caso de que deban devolver valores.
- Cuando el cuerpo de la expresión lambda tiene más de una línea se hace necesario utilizar las llaves y es necesario incluir la cláusula return en el caso de que la función deba devolver un valor.
Ejemplo
@FunctionalInterface
public interface FiguraGeometrica {
//método abstracto para sumar 2 números, que lo implementará el programador a partir de una expresión Lambda
public double calcularArea(int lado, int altura);
}
public class TestLambdas {
public static void main(String[] args) {
int x = 10;
int y = 5;
//se implementa el método de la interfaz con una expresión lambda
FiguraGeometrica cuadrado = (int altura, int longitud) -> {
return altura * longitud;
};
FiguraGeometrica triangulo = (int altura, int longitud) -> {
return altura * longitud /2;
};
//se utiliza el método con la implementación y se le envía los valores correspondiente
double areaCuadrado = cuadrado.calcularArea(x, y);
double areaTriangulo = triangulo.calcularArea(x, y);
}
}
Autor: Richard