Mencipta Penunjuk Fungsi dalam Java
Java tidak mempunyai konsep penunjuk fungsi, yang biasanya digunakan untuk menghantar fungsi sebagai argumen kepada fungsi lain. Walau bagaimanapun, terdapat alternatif yang menyediakan kefungsian yang serupa, seperti kelas dalaman tanpa nama.
Pertimbangkan kaedah yang melibatkan pengiraan kecil yang berbeza merentas pelbagai kaedah. Penyelesaian yang ideal adalah dengan menghantar penuding fungsi untuk mengendalikan baris kod tersebut.
Kelas Dalaman Tanpa Nama untuk Penyelamat
Kelas dalaman tanpa nama membolehkan anda membuat contoh antara muka atau kelas abstrak secara langsung dalam kod anda tanpa perlu menentukan kelas yang berasingan. Teknik ini boleh digunakan untuk mensimulasikan penunjuk fungsi dalam Java.
Sebagai contoh, jika anda ingin menghantar dalam fungsi dengan parameter String yang mengembalikan integer, anda boleh menentukan antara muka:
interface StringFunction { int func(String param); }
Kaedah yang menerima penunjuk fungsi ini akan mengambil contoh StringFunction:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
Anda boleh memanggil kaedah ini seperti ini:
takingMethod(new StringFunction() { public int func(String param) { // body } });
Dalam Java 8 dan kemudian, anda boleh mudahkan kod ini menggunakan ungkapan lambda:
takingMethod(param -> bodyExpression);
Kelas dalaman tanpa nama menyediakan alternatif yang berdaya maju kepada penunjuk fungsi dalam Java dengan membenarkan anda menghantar fungsi sebagai argumen melalui pelaksanaan antara muka. Ia membolehkan anda membuat blok kod boleh guna semula yang boleh disesuaikan dengan mudah untuk tugas tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Penunjuk Fungsi dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!