Heim > Java > javaLernprogramm > Wie können Sie Java-Methodenparameternamen mithilfe von Reflektion in Java 8 abrufen?

Wie können Sie Java-Methodenparameternamen mithilfe von Reflektion in Java 8 abrufen?

Linda Hamilton
Freigeben: 2024-11-07 17:22:02
Original
437 Leute haben es durchsucht

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

Erhalten von Java-Methodenparameternamen über Reflection

In Java sind Methodenparameternamen standardmäßig nicht zugänglich, was zu der Frage führt, ob es möglich ist, sie mithilfe von Reflection abzurufen .

Java 8-Lösung mit Parameterreflexion

Vor Java 8 war es nicht möglich, über Reflektion auf Parameternamen zuzugreifen. Mit der Einführung der Parameterreflexion in Java 8 wurde dies jedoch möglich. Der folgende Code zeigt, wie Parameternamen abgerufen werden:

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;
            }
        }
    }
}
Nach dem Login kopieren

In diesem Beispiel enthält die Klasse Whatever eine Methode aMethod mit einem ganzzahligen Parameter namens aParam. Mit der Methode method.getParameters() können Sie ein Array von Parameterobjekten abrufen, die jeden Parameter der Methode zusammen mit ihren Namen darstellen.

Compiler-Flag (-parameters)

Das ist wichtig Beachten Sie, dass Java 8 die Aktivierung des Compiler-Flags -parameters erfordert, um Parameternamen zur Laufzeit zugänglich zu machen. In Maven-Projekten kann dieses Flag zu den hinzugefügt werden. Konfiguration:

<compilerArgument>-parameters</compilerArgument>
Nach dem Login kopieren

Alternativ können Sie in Java 8-Versionen des Compilers neuer als 3.6.2 Parameter in auf true setzen:

<parameters>true</parameters>
Nach dem Login kopieren

Schlussfolgerung

Mit der Einführung der Parameterreflexion in Java 8 ist es nun möglich, Methodenparameternamen über Reflektion zu erhalten. Durch die Verwendung der Parameter-Klasse und des Compiler-Flags -parameters können Sie zur Laufzeit auf Parameternamen zugreifen.

Das obige ist der detaillierte Inhalt vonWie können Sie Java-Methodenparameternamen mithilfe von Reflektion in Java 8 abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage