Maison > Java > javaDidacticiel > le corps du texte

Comment obtenir les noms et types de paramètres de méthode à l'aide de Java Reflection ?

DDD
Libérer: 2024-11-08 11:55:01
original
227 Les gens l'ont consulté

How to Get Method Parameter Names and Types Using Java Reflection?

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

Problème :

Étant donné une classe Java avec une méthode qui accepte des paramètres, comment pouvez-vous déterminer le nom et le type du paramètre à l'aide de Java réflexion ?

Solution :

Dans Java 8 et versions ultérieures, la classe Parameter donne accès aux noms de paramètres. Pour obtenir des informations sur les paramètres :

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

Sortie :

Parameter name: aParam, Type: int
Copier après la connexion

Remarque importante :

Pour que cela fonctionne, vous devez spécifier le -parameters lors de la compilation de votre code Java. Par exemple, pour les utilisateurs Maven :

<configuration>
    <parameters>true</parameters>
    <compilerArgument>-parameters</compilerArgument>
</configuration>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!