Maison > Java > javaDidacticiel > 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
Libérer: 2024-11-07 17:22:02
original
385 Les gens l'ont consulté

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;
            }
        }
    }
}
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal