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

Java 8 - Expresiones lambda

Las expresiones lambda se introducen en Java 8 y se promocionan como la función más importante 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.

parameter -> expression body

Las siguientes son las características importantes de una expresión lambda.

Ejemplo de expresiones lambda

Cree el siguiente programa Java utilizando cualquier editor de su elección en, por ejemplo, C:\> JAVA.

Java8Tester.java

Demostración en vivo
public class Java8Tester {

   public static void main(String args[]) {
      Java8Tester tester = new Java8Tester();
		
      //with type declaration
      MathOperation addition = (int a, int b) -> a + b;
		
      //with out type declaration
      MathOperation subtraction = (a, b) -> a - b;
		
      //with return statement along with curly braces
      MathOperation multiplication = (int a, int b) -> { return a * b; };
		
      //without return statement and without curly braces
      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));
		
      //without parenthesis
      GreetingService greetService1 = message ->
      System.out.println("Hello " + message);
		
      //with parenthesis
      GreetingService greetService2 = (message) ->
      System.out.println("Hello " + 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

Compile la clase usando javac compilador de la siguiente manera −

C:\JAVA>javac Java8Tester.java

Ahora ejecute Java8Tester de la siguiente manera −

C:\JAVA>java Java8Tester

Debería producir el siguiente resultado −

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

Los siguientes son los puntos importantes a considerar en el ejemplo anterior.

Alcance

Usando la expresión lambda, puede referirse a cualquier variable final o variable final efectiva (que se asigna solo una vez). La expresión lambda genera un error de compilación si se asigna un valor a una variable por segunda vez.

Ejemplo de alcance

Cree el siguiente programa Java utilizando cualquier editor de su elección en, por ejemplo, C:\> JAVA.

Java8Tester.java

Demostración en vivo
public class Java8Tester {

   final static String salutation = "Hello! ";
   
   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

Compile la clase usando javac compilador de la siguiente manera −

C:\JAVA>javac Java8Tester.java

Ahora ejecute Java8Tester de la siguiente manera −

C:\JAVA>java Java8Tester

Debería producir el siguiente resultado −

Hello! Mahesh

Java

  1. Operadores Java
  2. Expresiones, declaraciones y bloques de Java
  3. Comentarios Java
  4. Java para cada bucle
  5. Cadenas Java
  6. Interfaz Java
  7. Clase anónima de Java
  8. Prueba de Java con recursos
  9. Anotaciones Java
  10. Aserciones de Java
  11. Java Vector