Bolehkah Java Reflection Mendapatkan Nama Parameter Kaedah?
Nov 10, 2024 am 06:00 AMJava Reflection: Mengakses Nama Parameter Kaedah
Soalan:
Bolehkah Java reflection memberikan maklumat tentang parameter kaedah nama?
Jawapan:
Ya, Java 8 memperkenalkan keupayaan untuk mendapatkan nama parameter kaedah menggunakan refleksi.
Pelaksanaan:
import java.lang.reflect.Method; import java.lang.reflect.Parameter; import java.util.ArrayList; import java.util.List; public class ParameterNames { public static List<String> getParameterNames(Method method) { if (!method.isParameterNamesPresent()) { throw new IllegalArgumentException("Parameter names are not present!"); } Parameter[] parameters = method.getParameters(); List<String> parameterNames = new ArrayList<>(); for (Parameter parameter : parameters) { parameterNames.add(parameter.getName()); } return parameterNames; } // For testing public static void main(String[] args) throws Exception { Method getParameterNamesMethod = ParameterNames.class.getMethod("getParameterNames", Method.class); List<String> parameterNames = getParameterNames(getParameterNamesMethod); System.out.println("Method parameter names: " + parameterNames); } }
Penggunaan:
Untuk kaedah bernama aMethod dengan parameter tunggal bernama aParam , kaedah getParameterNames akan kembali ["aParam"].
Maklumat Tambahan:
- Menyusun dengan bendera -parameters atau menetapkan Argumen penyusun parameter kepada benar dalam pemalam pengkompil Maven diperlukan untuk menjana nama parameter dalam fail kelas.
- Java 8 mengeluarkan dokumen Mendapatkan Nama Kaedah Parameter dalam Tutorial Java rasmi memberikan butiran lanjut tentang ciri ini.
Atas ialah kandungan terperinci Bolehkah Java Reflection Mendapatkan Nama Parameter Kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java?
