通过反射能获取方法参数名称吗?

一、Java通过反射可以获取方法的参数名称吗?

不能!!!

二、测试示例代码:

import java.lang.reflect.Method;class T {public void print(String username) {System.out.println(username);}}public class Test {public static void main(String[] args) {T t = new T();t.print("zhangsan");try {Class c = Class.forName("T");Method[] ms = c.getDeclaredMethods();for (Method m : ms) {System.out.println("Method Name: " + m.getName());System.out.println("Method Return Type: " + m.getGenericReturnType());System.out.println("Method Parameter Types: " + m.getGenericParameterTypes());}} catch (ClassNotFoundException e) {e.printStackTrace();}}}运行结果:

zhangsanMethod Name: printMethod Return Type: voidMethod Parameter Types: [Ljava.lang.Class;@1fb8ee3

三、解析

Java通过反射可以取得方法的名称、返回值类型、方法参数类型,,但是无法通过反射取得方法参数名称的。

Method类没有提供获取方法参数名称的方法或JDK没有实现该功能。

所以一定要注意啦。

找一个让心里安静和干净的地方,

通过反射能获取方法参数名称吗?

相关文章:

你感兴趣的文章:

标签云: