Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Java 8 - Ekspresi Lambda

Ekspresi Lambda diperkenalkan di Java 8 dan disebut-sebut sebagai fitur terbesar Java 8. Ekspresi Lambda memfasilitasi pemrograman fungsional, dan sangat menyederhanakan pengembangan.

Sintaks

Ekspresi lambda ditandai dengan sintaks berikut.

parameter -> expression body

Berikut ini adalah karakteristik penting dari ekspresi lambda.

Contoh Ekspresi Lambda

Buat program Java berikut menggunakan editor pilihan Anda, misalnya, C:\> JAVA.

Java8Tester.java

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

Verifikasi Hasil

Kompilasi kelas menggunakan javac kompiler sebagai berikut

C:\JAVA>javac Java8Tester.java

Sekarang jalankan Java8Tester sebagai berikut

C:\JAVA>java Java8Tester

Ini harus menghasilkan output berikut

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

Berikut ini adalah poin penting yang harus diperhatikan dalam contoh di atas.

Cakupan

Menggunakan ekspresi lambda, Anda dapat merujuk ke variabel final apa pun atau variabel final efektif (yang ditetapkan hanya sekali). Ekspresi Lambda memunculkan kesalahan kompilasi, jika variabel diberi nilai untuk kedua kalinya.

Contoh Cakupan

Buat program Java berikut menggunakan editor pilihan Anda, misalnya, C:\> JAVA.

Java8Tester.java

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

Verifikasi Hasil

Kompilasi kelas menggunakan javac kompiler sebagai berikut

C:\JAVA>javac Java8Tester.java

Sekarang jalankan Java8Tester sebagai berikut

C:\JAVA>java Java8Tester

Ini harus menghasilkan output berikut

Hello! Mahesh

java

  1. Operator Jawa
  2. Ekspresi, Pernyataan, dan Blok Java
  3. Komentar Jawa
  4. Java untuk setiap Loop
  5. String Jawa
  6. Antarmuka Jawa
  7. Kelas Anonim Java
  8. Java mencoba-dengan-sumber daya
  9. Anotasi Jawa
  10. Pernyataan Jawa