Seperti yang diketahui bahwa anonymous class memungkinkan kita membuat
sebuah class tanpa perlu mendeklarasikan nama kelas tersebut. Namun, apa yang terjadi ketika membuat anonymous class yang simpel, semisal interface yang hanya mempunyai satu metod/fungsi saja, maka anonymous class yang dibuat akan terasa sulit dan tidak jelas. Semisalnya apa yang harus dilakukan ketika sebuah button diklik.
Lambda expression akan memudahkan dan menyempurnakan penggunaan anonymous class yang kita buat menjadi lebih mudah dan ringkas. Lambda expression mulai ada sejak versi Java 8.
Lambda expression akan memudahkan dan menyempurnakan penggunaan anonymous class yang kita buat menjadi lebih mudah dan ringkas. Lambda expression mulai ada sejak versi Java 8.
Syntax dan Contoh Lambda Expression
Syntax lambda expression kurang lebih seperti berikut:
(argumen1, ..., argumen ke-n) -> {body fungsi}
dengan :
- (argumen1, ..., argumen ke-n) berisi parameter / argumen yang akan dikirim ke dalam fungsi dan bersifar opsional.
- -> operator lambda, simbol yang menyatakan bahwa baris code adalah lambda expression.
- {} penanda scope fungsi / body function lambda expression.
Contoh
Pada contoh tersebut, interface Reference memiliki method getGravitionalEnergyValue yang didefinisikan pada object ref. Tentunya ini lebih mudah dibandingkan dengan cara yang dilakukan dengan anonymous class biasa seperti pada method doCalculateForce. Pada fungsi utama (main) interface Reference lebih straight to the point dalam implementasi.
Hasil
Contoh lain
Kita juga bisa melempar interface tersebut ke dalam sebuah metod / fungsi, seperti berikut:
Pada contoh di atas interface di lempar ke dalam fungsi setActionClick. Terlihat 2 cara dalam pendefinisiannya yang pertama menggunakan teknik anonymous class biasa, terlihat pada instansiasi obyek reference. Selanjutnya menggunakan teknik lambda expression yang bisa dilihat pada lambda.setClickAction().
Hasil
Akses Variabel Lambda Expression
Akses variabel pada lambda expression sama seperti pada akses variabel fungsi anonymous. lambda bisa mengakses variabel global yang berada di tempat lambda tersebut digunakan. Terlihat pada contoh di bawah lambda expression maupun anonymous class bisa mengakses variabel author.
Hasil
Sumber
- https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html diakses pada tanggal 16 Januari 2024.
- https://www.simplilearn.com/tutorials/java-tutorial/java-lambda-expression diakses pada tanggal 21 Januari 2024.
- https://www.petanikode.com/java-lambda/ diakses pada tanggal 21 Januari 2024.
Posting Komentar untuk "Mengenal Fitur Lambda Expression pada Java 8"
Berilah komentar, saran, dan kritik dengan bijak