Functional Interfaces
Selain interface Function, ada beberapa lagi interface lain yang boleh digunakan yang ada dalam package java.util.function.
Klik sini untuk melihat documentation untuk package java.util.function
BiFunction
BiFunction adalah sama seperti Function tetapi boleh mengambil dua input. Contoh menggunakan lambda,
(x, y) -> x + y + 10
Jangan lupa kurungan untuk input.
Consumer
Consumer ialah interface untuk function yang mengambil input dan tidak return apa-apa nilai (void). BiConsumer ialah jenis yang mengambil dua input.
Supplier
Supplier ialah interface untuk function yang tiada input, hanya return nilai. Contoh menggunakan lambda,
() -> 10
Kita tidak perlu hafal jenis-jenis interface di atas kerana kita hanya menggunakan lambda. Cuma perlu tahu function yang kita akan tulis boleh mempunyai ciri-ciri di atas.
Jika anda perasan, kita hanya boleh meletak sehingga dua input untuk function sahaja. Jika kita mahu lebih, kita perlu menulis sendiri interface yang kita mahu ataupun menggunakan library seperti Vavr.