Saya menemukan istilah baru di Java 8: "antarmuka fungsional". Saya hanya bisa menemukan satu penggunaannya ketika bekerja dengan ekspresi lambda .
Java 8 menyediakan beberapa antarmuka fungsional bawaan dan jika kita ingin mendefinisikan antarmuka fungsional apa pun maka kita dapat memanfaatkan @FunctionalInterface
anotasi tersebut. Ini akan memungkinkan kita untuk mendeklarasikan hanya satu metode di antarmuka.
Sebagai contoh:
@FunctionalInterface
interface MathOperation {
int operation(int a, int b);
}
Seberapa berguna itu di Java 8 selain hanya bekerja dengan ekspresi lambda ?
(Pertanyaan di sini berbeda dari yang saya tanyakan. Pertanyaannya adalah mengapa kita membutuhkan antarmuka fungsional saat bekerja dengan ekspresi lambda. Pertanyaan saya adalah: mengapa penggunaan lain yang dilakukan antarmuka fungsional selain dengan ekspresi lambda?)