首頁 > Java > java教程 > 如何使用Java反射取得方法參數名稱和類型?

如何使用Java反射取得方法參數名稱和類型?

DDD
發布: 2024-11-08 11:55:01
原創
337 人瀏覽過

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
登入後複製

重要提示:

要使其工作,您需要指定-parameters編譯Java 程式碼時的參數。例如,對於 Maven 使用者:

<configuration>
    <parameters>true</parameters>
    <compilerArgument>-parameters</compilerArgument>
</configuration>
登入後複製

以上是如何使用Java反射取得方法參數名稱和類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板