Maison  >  Article  >  Java  >  Comment pouvez-vous récupérer les noms des paramètres de méthode à l’aide de Java Reflection ?

Comment pouvez-vous récupérer les noms des paramètres de méthode à l’aide de Java Reflection ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-08 12:39:01968parcourir

How Can You Retrieve Method Parameter Names Using Java Reflection?

Accès aux noms de paramètres de méthode dans Java Reflection

Introduction :
En programmation Java, cela peut être utile pour connaître les noms des paramètres de méthode au sein d’une classe. Ces informations sont utiles dans divers scénarios, tels que le débogage, la journalisation ou l'analyse des dépendances de code. Dans cet article, nous explorerons comment obtenir les noms de paramètres de méthode à l'aide de la réflexion Java.

Méthode getParameterNames() dans Java 8 :
Dans Java 8 et les versions ultérieures, le java La classe .lang.reflect.Parameter fournit la méthode getParameterNames(). Cette méthode nous permet de récupérer un tableau d'objets String contenant les noms de tous les paramètres d'une méthode donnée. Pour utiliser cette méthode, nous devons d'abord obtenir un objet Method représentant la méthode en question.

Exemple de code :
Le code suivant montre comment utiliser getParameterNames() pour obtenir le paramètre noms pour la méthode aMethod() :

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class GetParameterNames {

    public static void main(String[] args) throws NoSuchMethodException {

        // Get the Method object for aMethod()
        Method aMethod = Whatever.class.getMethod("aMethod", int.class);

        // Get the Parameter object for the method parameter
        Parameter[] parameters = aMethod.getParameters();

        // Extract the parameter name from the Parameter object
        String parameterName = parameters[0].getName();

        // Print the parameter name
        System.out.println(parameterName);
    }
}

Considérations :
Pour Pour que cette approche fonctionne, le compilateur Java doit être invoqué avec l'argument -parameters pour permettre la génération de noms de paramètres dans les fichiers de classe. Cet argument peut être ajouté aux indicateurs du compilateur dans le JDK ou dans une configuration de build Maven.

Alternatives pour les anciennes versions de Java :
Dans les versions Java antérieures à 8, obtention du paramètre de méthode les noms directement ne sont pas pris en charge. Cependant, il existe des bibliothèques tierces, telles que ASM Bytecode Manipulation Library, qui fournissent des moyens d'améliorer les classes Java au moment de l'exécution et d'accéder à ces informations.

Ressources supplémentaires :

  • [Tutoriel Java officiel : Obtention des noms de méthode Paramètres](https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Parameter.html#getName--)
  • [JEP 118 : Accès aux noms de paramètres à Runtime](https://openjdk.java.net/jeps/118)
  • [Javadoc pour les paramètres classe](https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Parameter.html)

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