Apa yang Perlu Digunakan Daripada Penunjuk Fungsi dalam Java
Dalam bahasa pengaturcaraan Java, penunjuk fungsi, ciri yang membolehkan seseorang menghantar fungsi sebagai hujah kepada fungsi lain, tidak hadir. Walau bagaimanapun, terdapat alternatif untuk mencapai kefungsian yang serupa.
Satu pilihan yang berdaya maju ialah kelas dalaman tanpa nama. Pertimbangkan keperluan untuk mencipta berbilang kaedah yang melakukan operasi yang sama kecuali untuk variasi kecil dalam satu baris kod. Kelas dalaman tanpa nama menawarkan penyelesaian.
Untuk menggunakan kelas dalam tanpa nama, antara muka mesti ditakrifkan, mengisytiharkan kaedah yang akan dihantar masuk. Contohnya, jika kaedah mengambil parameter String dan mengembalikan integer, antara muka akan menyerupai ini:
interface StringFunction { int func(String param); }
Kaedah yang menerima penuding fungsi akan menerima contoh antara muka StringFunction, seperti yang ditunjukkan:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
Untuk menggunakan kaedah ini, gunakan dalaman tanpa nama kelas seperti itu:
ref.takingMethod(new StringFunction() { public int func(String param) { // body } });
Dalam Java 8 dan lebih baru, ungkapan lambda menyediakan alternatif yang lebih ringkas:
ref.takingMethod(param -> bodyExpression);
Ini membenarkan untuk menghantar fungsi sebagai hujah dalam ringkas dan boleh dibaca cara, mencontohi tingkah laku penunjuk fungsi dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Fungsi Penunjuk Fungsi di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!