Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Mensimulasikan Penunjuk Fungsi dalam Java?

Bagaimanakah Saya Boleh Mensimulasikan Penunjuk Fungsi dalam Java?

Patricia Arquette
Patricia Arquetteasal
2024-11-19 01:58:03365semak imbas

How Can I Simulate Function Pointers in Java?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn