ホームページ >Java >&#&チュートリアル >Java リフレクションを使用してメソッドのパラメータ名と型を取得する方法

Java リフレクションを使用してメソッドのパラメータ名と型を取得する方法

DDD
DDDオリジナル
2024-11-08 11:55:01301ブラウズ

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

Java リフレクションによるメソッド パラメータ名の取得

問題:

パラメータを受け入れるメソッドを持つ Java クラスが与えられたとします。 Java リフレクションを使用してパラメータの名前と型を特定するにはどうすればよいですか?

解決策:

Java 8 以降では、Parameter クラスによってパラメータ名へのアクセスが提供されます。パラメータ情報を取得するには:

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) {
        }
    }
}

出力:

Parameter name: aParam, Type: int

重要な注意事項:

これが機能するには、 Java コードをコンパイルするときの -parameters 引数。たとえば、Maven ユーザーの場合:

<configuration>
    <parameters>true</parameters>
    <compilerArgument>-parameters</compilerArgument>
</configuration>

以上がJava リフレクションを使用してメソッドのパラメータ名と型を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。