Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 8 - Lambda-Ausdrücke

Lambda-Ausdrücke werden in Java 8 eingeführt und gelten als das größte Feature von Java 8. Lambda-Ausdrücke erleichtern die funktionale Programmierung und vereinfachen die Entwicklung erheblich.

Syntax

Ein Lambda-Ausdruck ist durch die folgende Syntax gekennzeichnet.

parameter -> expression body

Im Folgenden sind die wichtigen Merkmale eines Lambda-Ausdrucks aufgeführt.

Beispiel für Lambda-Ausdrücke

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl in beispielsweise C:\> JAVA.

Java8Tester.java

Live-Demo
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);
   }
}

Überprüfen Sie das Ergebnis

Kompilieren Sie die Klasse mit javac Compiler wie folgt −

C:\JAVA>javac Java8Tester.java

Führen Sie nun den Java8Tester wie folgt aus −

C:\JAVA>java Java8Tester

Es sollte die folgende Ausgabe erzeugen −

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

Im Folgenden sind die wichtigen Punkte aufgeführt, die im obigen Beispiel berücksichtigt werden müssen.

Geltungsbereich

Mit dem Lambda-Ausdruck können Sie auf jede Endvariable oder effektiv Endvariable (die nur einmal zugewiesen wird) verweisen. Der Lambda-Ausdruck löst einen Kompilierungsfehler aus, wenn einer Variablen zum zweiten Mal ein Wert zugewiesen wird.

Umfangsbeispiel

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl in beispielsweise C:\> JAVA.

Java8Tester.java

Live-Demo
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);
   }
}

Überprüfen Sie das Ergebnis

Kompilieren Sie die Klasse mit javac Compiler wie folgt −

C:\JAVA>javac Java8Tester.java

Führen Sie nun den Java8Tester wie folgt aus −

C:\JAVA>java Java8Tester

Es sollte die folgende Ausgabe erzeugen −

Hello! Mahesh

Java

  1. Java-Operatoren
  2. Java-Ausdrücke, -Anweisungen und -Blöcke
  3. Java-Kommentare
  4. Java for-each-Schleife
  5. Java-Strings
  6. Java-Schnittstelle
  7. Anonyme Java-Klasse
  8. Java-Versuch-mit-Ressourcen
  9. Java-Anmerkungen
  10. Java-Assertionen