cari
RumahJavajavaTutorialBagaimanakah anda boleh mendapatkan semula nama parameter kaedah Java menggunakan refleksi dalam Java 8?

How can you retrieve Java method parameter names using reflection in Java 8?

Mendapatkan Nama Parameter Kaedah Java melalui Refleksi

Dalam Java, nama parameter kaedah tidak boleh diakses secara lalai, membawa kepada persoalan sama ada ia mungkin untuk mendapatkannya semula menggunakan refleksi .

Penyelesaian Java 8 dengan Pantulan Parameter

Sebelum Java 8, ia tidak boleh digunakan untuk mengakses nama parameter melalui refleksi. Walau bagaimanapun, dengan pengenalan pantulan parameter dalam Java 8, ia menjadi mungkin. Kod berikut menunjukkan cara untuk mendapatkan nama parameter:

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

public class ParameterReflection {

    public static void main(String[] args) {
        Class> clazz = Whatever.class;

        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.getName().equals("aMethod")) {
                Parameter[] parameters = method.getParameters();
                for (Parameter parameter : parameters) {
                    System.out.println(parameter.getName());
                }
                break;
            }
        }
    }
}

Dalam contoh ini, kelas Whatever mengandungi kaedah aMethod dengan parameter integer bernama aParam. Dengan menggunakan kaedah method.getParameters(), anda boleh mendapatkan tatasusunan objek Parameter yang mewakili setiap parameter kaedah, bersama-sama dengan nama mereka.

Bendera Pengkompil (-parameters)

Ia penting untuk ambil perhatian bahawa Java 8 memerlukan mendayakan bendera pengkompil -parameters untuk menjadikan nama parameter boleh diakses semasa runtime. Dalam projek Maven, bendera ini boleh ditambahkan pada konfigurasi:

<compilerargument>-parameters</compilerargument>

Sebagai alternatif, dalam Java 8 versi pengkompil yang lebih baharu daripada 3.6.2, anda boleh menetapkan parameter kepada benar dalam :

<parameters>true</parameters>

Kesimpulan

Dengan pengenalan pantulan parameter dalam Java 8, mendapatkan nama parameter kaedah melalui pantulan kini boleh dilaksanakan. Dengan menggunakan kelas Parameter dan bendera pengkompil -parameters, anda boleh mengakses nama parameter pada masa jalan.

Atas ialah kandungan terperinci Bagaimanakah anda boleh mendapatkan semula nama parameter kaedah Java menggunakan refleksi dalam Java 8?. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual