Saat kita menggunakan ekspresi lambda, operasi yang paling umum adalah pencocokan. Namun, ada banyak metode di antarmuka, dan beberapa teman akan bingung saat mencocokkan. Apa yang dapat kami perjelas adalah bahwa lambda dapat mencocokkan antarmuka, sehingga instruksi pencocokan spesifik akan dijelaskan di bawah, bersama dengan contoh kode yang relevan.
1. Deskripsi
(1) Setiap lambda dapat mencocokkan tipe tertentu melalui antarmuka tertentu. Antarmuka fungsional harus memiliki satu dan hanya satu deklarasi metode abstrak. Setiap ekspresi lambda yang terkait dengannya harus sesuai dengan deklarasi metode abstrak. Karena metode default tidak abstrak, silakan tambahkan metode default ke antarmuka fungsional Anda.
(2) Antarmuka apa pun yang hanya berisi satu metode abstrak dapat digunakan untuk ekspresi lambda. Agar antarmuka yang ditentukan memenuhi persyaratan, antarmuka harus ditandai dengan @FunctionalInterface. Jika metode abstrak kedua didefinisikan di antarmuka, kompiler akan memperhatikan anotasi ini dan memberikan pengecualian.
2. Contoh
@FungsionalInterface antarmuka Konverter<F, T> { T mengkonversi(F dari); } Konverter<String, Integer> konverter = (dari) -> Integer.valueOf(dari); Bilangan bulat dikonversi = converter.convert("123"); Sistem.keluar.println(dikonversi); // 123
Perhatikan bahwa program ini juga benar jika anotasi @FunctionalInterface tidak ditulis.
Di atas adalah metode mencocokkan ekspresi Lambda di antarmuka Java. Saya yakin setiap orang memiliki pemahaman baru tentang penggunaan ekspresi Lambda di artikel ini .