Rumah > Java > javaTutorial > teks badan

Bagaimana Anda Boleh Mendapatkan Nama Parameter Kaedah Menggunakan Refleksi Java?

Barbara Streisand
Lepaskan: 2024-11-08 12:39:01
asal
1046 orang telah melayarinya

How Can You Retrieve Method Parameter Names Using Java Reflection?

Mengakses Nama Parameter Kaedah dalam Java Reflection

Pengenalan:
Dalam pengaturcaraan Java, ia boleh berguna untuk mengetahui nama-nama parameter kaedah dalam kelas. Maklumat ini berguna dalam pelbagai senario, seperti penyahpepijatan, pengelogan atau menganalisis kebergantungan kod. Dalam artikel ini, kami akan meneroka cara mendapatkan nama parameter kaedah menggunakan pantulan Java.

Kaedah getParameterNames() dalam Java 8:
Dalam Java 8 dan versi yang lebih baru, java Kelas .lang.reflect.Parameter menyediakan kaedah getParameterNames(). Kaedah ini membolehkan kami mendapatkan semula tatasusunan objek String yang mengandungi nama semua parameter dalam kaedah tertentu. Untuk menggunakan kaedah ini, pertama sekali kita perlu mendapatkan objek Kaedah yang mewakili kaedah yang dimaksudkan.

Kod Contoh:
Kod berikut menunjukkan cara menggunakan getParameterNames() untuk mendapatkan parameter nama untuk kaedah aMethod():

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class GetParameterNames {

    public static void main(String[] args) throws NoSuchMethodException {

        // Get the Method object for aMethod()
        Method aMethod = Whatever.class.getMethod("aMethod", int.class);

        // Get the Parameter object for the method parameter
        Parameter[] parameters = aMethod.getParameters();

        // Extract the parameter name from the Parameter object
        String parameterName = parameters[0].getName();

        // Print the parameter name
        System.out.println(parameterName);
    }
}
Salin selepas log masuk

Pertimbangan:
Untuk pendekatan ini berfungsi, pengkompil Java mesti digunakan dengan argumen -parameters untuk membolehkan penjanaan nama parameter dalam fail kelas. Argumen ini boleh ditambah pada bendera pengkompil dalam JDK atau dalam konfigurasi binaan Maven.

Alternatif untuk Versi Java Lama:
Dalam versi Java sebelum 8, mendapatkan parameter kaedah nama secara langsung tidak disokong. Walau bagaimanapun, terdapat perpustakaan pihak ketiga, seperti Perpustakaan Manipulasi Kod Byte ASM, yang menyediakan cara untuk meningkatkan kelas Java pada masa jalan dan mengakses maklumat ini.

Sumber Tambahan:

  • [Tutorial Java Rasmi: Mendapatkan Nama Parameter Kaedah](https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Parameter.html#getName--)
  • [JEP 118: Akses kepada Nama Parameter pada Masa Jalan](https://openjdk.java.net/jeps/118)
  • [Javadoc untuk kelas Parameter](https://docs.oracle .com/javase/8/docs/api/java/lang/reflect/Parameter.html)

Atas ialah kandungan terperinci Bagaimana Anda Boleh Mendapatkan Nama Parameter Kaedah Menggunakan Refleksi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan