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

Menguasai Ekspresi Lambda Java 8: Panduan Pemrograman Fungsional

Ekspresi lambda diperkenalkan dalam Java 8 dan dianggap sebagai fitur terbesar Java 8. Ekspresi lambda memfasilitasi pemrograman fungsional dan menyederhanakan pengembangan secara signifikan.

Sintaks

Sebuah ekspresi lambda ditandai oleh sintaks berikut.

 parameter -> expression body 

Berikut adalah karakteristik penting dari sebuah ekspresi lambda.

Contoh Ekspresi Lambda

Buat program Java berikut menggunakan editor pilihan Anda, katakanlah di 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); } } 

Verifikasi Hasil

Kompilasi kelas menggunakan compiler javac seperti berikut −

 C:\JAVA>javac Java8Tester.java 

Sekarang jalankan Java8Tester seperti berikut −

 C:\JAVA>java Java8Tester 

Hasilnya akan seperti berikut −

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

Berikut adalah beberapa poin penting yang harus dipertimbangkan dalam contoh di atas.

Scope

Dengan menggunakan ekspresi lambda, Anda dapat merujuk ke variabel final atau variabel secara efektif final (yang hanya ditetapkan sekali). Ekspresi lambda menghasilkan kesalahan kompilasi jika variabel ditetapkan nilai yang kedua kalinya.

Contoh Scope

Buat program Java berikut menggunakan editor pilihan Anda, katakanlah di 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); } } 

Verifikasi Hasil

Kompilasi kelas menggunakan compiler javac seperti berikut −

 C:\JAVA>javac Java8Tester.java 

Sekarang jalankan Java8Tester seperti berikut −

 C:\JAVA>java Java8Tester 

Hasilnya akan seperti berikut −

 Hello! Mahesh 

java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Memahami Ekspresi, Pernyataan, dan Blok Java
  3. Komentar Java: Tipe, Penggunaan, dan Best Practices
  4. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  5. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  6. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  7. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  8. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  9. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  10. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode