Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java 8 - Expressions lambda

Les expressions lambda sont introduites dans Java 8 et sont présentées comme la plus grande fonctionnalité de Java 8. L'expression lambda facilite la programmation fonctionnelle et simplifie beaucoup le développement.

Syntaxe

Une expression lambda est caractérisée par la syntaxe suivante.

parameter -> expression body

Voici les caractéristiques importantes d'une expression lambda.

Exemple d'expression Lambda

Créez le programme Java suivant à l'aide de l'éditeur de votre choix dans, par exemple, C:\> JAVA.

Java8Tester.java

Démo en direct
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);
   }
}

Vérifier le résultat

Compilez la classe en utilisant javac compilateur comme suit −

C:\JAVA>javac Java8Tester.java

Exécutez maintenant le Java8Tester comme suit −

C:\JAVA>java Java8Tester

Il devrait produire la sortie suivante −

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

Voici les points importants à prendre en compte dans l'exemple ci-dessus.

Portée

À l'aide de l'expression lambda, vous pouvez faire référence à n'importe quelle variable finale ou à une variable effectivement finale (qui n'est affectée qu'une seule fois). L'expression Lambda génère une erreur de compilation, si une variable se voit attribuer une valeur la deuxième fois.

Exemple de portée

Créez le programme Java suivant à l'aide de l'éditeur de votre choix dans, par exemple, C:\> JAVA.

Java8Tester.java

Démo en direct
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);
   }
}

Vérifier le résultat

Compilez la classe en utilisant javac compilateur comme suit −

C:\JAVA>javac Java8Tester.java

Exécutez maintenant le Java8Tester comme suit −

C:\JAVA>java Java8Tester

Il devrait produire la sortie suivante −

Hello! Mahesh

Java

  1. Opérateurs Java
  2. Expressions, instructions et blocs Java
  3. Commentaires Java
  4. Java pour chaque boucle
  5. Chaînes Java
  6. InterfaceJava
  7. Java essayer avec des ressources
  8. Annotations Java
  9. Assertions Java