Java 8 Tutorial - Belajar Java 8 Lambda Expression
Java 8 Tutorial - Lambda expression diperkenal di java 8 dan disebut-sebut sebagai fitur terbesar di java 8. Lambda expression memfasilitasi pemrograman fungsional, dan menyederhanakan pengembangan secara keseluruhan.
Berikut ini merupakan karakteristik dari lambda expression :
- Optional type declaration - Tidak perlu mendeklarasikan tipe parameter. Kompilator bisa inferensi sama dari nilai parameter.
- Optional parenthesis around parameter - Tidak perlu mendeklarasikan satu parameter dalam tanda kurung. Untuk beberapa parameter, diperlukan tanda kurung.
- Optional curly braces - Tidak perlu menggunakan kurung kurawal dalam tubuh ekspresi jika tubuh berisi satu pernyataan.
- Optional return keyword - Kompilator secara otomatis mengembalikan nilai jika body memiliki satu ekspresi untuk mengembalikan nilainya. Kurung kurawal diharuskan untuk menunjukkan bahwa ekspresi mengembalikan nilai.
Baca Juga : Java 8 Tutorial - Fitur Baru yang Ditambahkan ke Java 8
Contoh Penggunaan Lambda Expression
Contoh 1 Buatlah program java dengan nama java class ContohLambdaJava8
public class ContohLambdaJava8 { public static void main(String args[]){ ContohLambdaJava8 obj = new ContohLambdaJava8(); //dengan type declaration OperasiPerhitungan penjumlahan = (int a, int b) -> a + b; //tanpa type declaration OperasiPerhitungan pengurangan = (a, b) -> a - b; //dengan return statement dan dengan kurung kurawal OperasiPerhitungan perkalian = (int a, int b) -> { return a * b; }; //tanpa return statement and tanpa kurung kurawal OperasiPerhitungan pembagian = (int a, int b) -> a / b; System.out.println("10 + 5 = " + obj.operate(10, 5, penjumlahan)); System.out.println("10 - 5 = " + obj.operate(10, 5, pengurangan)); System.out.println("10 x 5 = " + obj.operate(10, 5, perkalian)); System.out.println("10 / 5 = " + obj.operate(10, 5, pembagian)); //dengan parenthesis GreetingService greetService1 = message -> System.out.println("Hello " + message); //tanpa parenthesis GreetingService greetService2 = (message) -> System.out.println("Hello " + message); greetService1.sayMessage("Kitty"); greetService2.sayMessage("Pikachu"); } private interface OperasiPerhitungan { int operation(int a, int b); } private interface GreetingService { void sayMessage(String message); } private int operate(int a, int b, OperasiPerhitungan op){ return op.operation(a, b); } }
Contoh 2 Buatlah program java dengan nama java class TesterLambdaJava8
public class TesterLambdaJava8 { public static void main(String args[]){ String msg = "Hello! "; GreetingService greetService1 = pesan -> System.out.println(msg + pesan); greetService1.sayMessage("Kitty"); } private interface GreetingService { public void sayMessage(String pesan); } }
Berikut adalah poin penting yang harus diperhatikan dalam contoh lambda expression di atas.
- Lambda expression digunakan terutama untuk mendefinisikan implementasi dari interface fungsional, yaitu interface dengan satu method saja. Pada contoh di atas, kita telah menggunakan berbagai jenis lambda exspression untuk menentukan method operation interface MathOperation. Kemudian kita telah mendefinisikan implementasi sayMessage dari interface GreetingService.
- Lambda expression menghilangkan kebutuhan anonymous class dan memberikan kemudahan pemrograman fungsional namun memiliki powerfull yang dapat diandalkan ke java 8.
Cakupan Lambda Expression
Dengan menggunakan lambda expression, kalian bisa merujuk ke variabel akhir atau variabel akhir yang efektif (yang ditugaskan hanya sekali). lambda expression melemparkan kesalahan kompilasi, jika sebuah variabel diberi nilai untuk kedua kalinya.
Sekian pembahasan tentang java 8 tutorial mengenai fitur lambda expression di java 8. Semoga bermanfaat dan silahkan tinggalkan komentar.
0 Response to "Java 8 Tutorial - Belajar Java 8 Lambda Expression"
Posting Komentar