Maison  >  Article  >  Java  >  Comment récupérer les noms des paramètres de méthode Java à l’aide de la réflexion dans Java 8 ?

Comment récupérer les noms des paramètres de méthode Java à l’aide de la réflexion dans Java 8 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-07 17:22:02308parcourir

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

Obtention des noms de paramètres de méthode Java via Reflection

En Java, les noms de paramètres de méthode ne sont pas accessibles par défaut, ce qui amène à se demander s'il est possible de les récupérer via la réflexion .

Solution Java 8 avec réflexion des paramètres

Avant Java 8, il n'était pas possible d'accéder aux noms de paramètres via la réflexion. Cependant, avec l’introduction de la réflexion des paramètres dans Java 8, cela est devenu possible. Le code suivant montre comment obtenir les noms de paramètres :

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

Dans cet exemple, la classe Whatever contient une méthode aMethod avec un paramètre entier nommé aParam. En utilisant la méthode method.getParameters(), vous pouvez récupérer un tableau d'objets Parameter représentant chaque paramètre de la méthode, ainsi que leurs noms.

Drapeau du compilateur (-parameters)

C'est important à noter que Java 8 nécessite l'activation de l'indicateur -parameters du compilateur pour rendre les noms de paramètres accessibles au moment de l'exécution. Dans les projets Maven, cet indicateur peut être ajouté au paramètre configuration :

<compilerArgument>-parameters</compilerArgument>

Alternativement, dans les versions Java 8 du compilateur plus récentes que 3.6.2, vous pouvez définir les paramètres sur true dans  :

<parameters>true</parameters>

Conclusion

Avec l'introduction de la réflexion des paramètres dans Java 8, l'obtention des noms de paramètres de méthode via la réflexion est désormais possible. En utilisant la classe Parameter et l'indicateur du compilateur -parameters, vous pouvez accéder aux noms des paramètres au moment de l'exécution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn