Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Dominar Expresiones Lambda en Java 8: Guía de Programación Funcional

Las expresiones lambda se introdujeron en Java 8 y se consideran la característica más grande de Java 8. La expresión lambda facilita la programación funcional y simplifica mucho el desarrollo.

Sintaxis

Una expresión lambda se caracteriza por la siguiente sintaxis.

parámetro -> cuerpo de expresión

A continuación se muestran las características importantes de una expresión lambda.

Ejemplo de Expresiones Lambda

Crea el siguiente programa Java usando cualquier editor de tu elección en, digamos, C:\JAVA.

Java8Tester.java

public class Java8Tester {
    public static void main(String args[]) {
        Java8Tester tester = new Java8Tester();

        // con declaración de tipo
        MathOperation addition = (int a, int b) -> a + b;

        // sin declaración de tipo
        MathOperation subtraction = (a, b) -> a - b;

        // con return y llaves
        MathOperation multiplication = (int a, int b) -> { return a * b; };

        // sin return y sin llaves
        MathOperation division = (int a, int b) -> a / b;

        System.out.println("10 + 5 = " + tester.operate(10, 5, addition));
        System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));
        System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));
        System.out.println("10 / 5 = " + tester.operate(10, 5, division));

        // sin paréntesis
        GreetingService greetService1 = message -> System.out.println("Hola " + message);

        // con paréntesis
        GreetingService greetService2 = (message) -> System.out.println("Hola " + message);

        greetService1.sayMessage("Mahesh");
        greetService2.sayMessage("Suresh");
    }

    interface MathOperation {
        int operation(int a, int b);
    }

    interface GreetingService {
        void sayMessage(String message);
    }

    private int operate(int a, int b, MathOperation mathOperation) {
        return mathOperation.operation(a, b);
    }
}

Verificar el Resultado

Compila la clase usando el compilador javac de la siguiente manera:

C:\JAVA>javac Java8Tester.java

Ahora ejecuta Java8Tester de la siguiente manera:

C:\JAVA>java Java8Tester

Debería producir la siguiente salida:

10 + 5 = 15
10 - 5 = 5
10 x 5 = 50
10 / 5 = 2
Hola Mahesh
Hola Suresh

A continuación se muestran los puntos importantes a considerar en el ejemplo anterior.

Alcance

Usando expresión lambda, puedes referirte a cualquier variable final o variable efectivamente final (que se asigna solo una vez). La expresión lambda lanza error de compilación si una variable se le asigna un valor por segunda vez.

Ejemplo de Alcance

Crea el siguiente programa Java usando cualquier editor de tu elección en, digamos, C:\JAVA.

Java8Tester.java

public class Java8Tester {
    final static String salutation = "¡Hola! ";

    public static void main(String args[]) {
        GreetingService greetService1 = message -> System.out.println(salutation + message);
        greetService1.sayMessage("Mahesh");
    }

    interface GreetingService {
        void sayMessage(String message);
    }
}

Verificar el Resultado

Compila la clase usando el compilador javac de la siguiente manera:

C:\JAVA>javac Java8Tester.java

Ahora ejecuta Java8Tester de la siguiente manera:

C:\JAVA>java Java8Tester

Debería producir la siguiente salida:

¡Hola! Mahesh

Java

  1. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  2. Entender Expresiones, Sentencias y Bloques en Java
  3. Comentarios en Java: Tipos, Uso y Mejores Prácticas
  4. Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
  5. Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
  6. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  7. Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
  8. Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
  9. Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
  10. Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código
  11. Entendiendo Java Vector: Uso, Características y Comparación con ArrayList