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
Linda HamiltonOriginal
2024-11-07 17:22:02437Durchsuche

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;
            }
        }
    }
}

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>

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

<parameters>true</parameters>

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!

Stellungnahme:
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