Problem:
Gegeben sei eine Java-Klasse mit einer Methode, die Parameter akzeptiert, Wie können Sie den Namen und Typ des Parameters mit Java ermitteln? Reflexion?
Lösung:
In Java 8 und höher bietet die Parameter-Klasse Zugriff auf Parameternamen. So erhalten Sie Parameterinformationen:
import java.lang.reflect.Method; import java.lang.reflect.Parameter; public class ParameterNames { public static void getParameterNames(Method method) { Parameter[] parameters = method.getParameters(); for (Parameter parameter : parameters) { System.out.printf("Parameter name: %s, Type: %s%n", parameter.getName(), parameter.getType().getName()); } } public static void main(String[] args) { try { Method method = Whatever.class.getMethod("aMethod", int.class); getParameterNames(method); } catch (NoSuchMethodException e) { e.printStackTrace(); } } public static class Whatever { public void aMethod(int aParam) { } } }
Ausgabe:
Parameter name: aParam, Type: int
Wichtiger Hinweis:
Damit dies funktioniert, müssen Sie angeben -parameters-Argument beim Kompilieren Ihres Java-Codes. Zum Beispiel für Maven-Benutzer:
<configuration> <parameters>true</parameters> <compilerArgument>-parameters</compilerArgument> </configuration>
Das obige ist der detaillierte Inhalt vonWie erhalte ich Methodenparameternamen und -typen mithilfe von Java Reflection?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!