【发布时间】:2013-04-19 19:02:03
【问题描述】:
我想获取包含方法的 Param 类型的数组的所有元素(使用 Java.reflect 动态获取),
如果我在方法中有 2 个参数,这是代码:
Method testMethod = c.getMethod(method.getName(), new Class[] {int.class, String.class});
但它应该是动态的,所以我使用:method.getTypeParameters(),它返回所有参数类型的数组。
那么当我写的时候:
Method testMethod = c.getMethod(method.getName(), new Class[] {method.getParameterTypes});
但它告诉我:类型不匹配:无法从 Class[] 转换为 Class
我知道我必须循环参数,因为我有:
method.getParameterTypes[0] // gives "int"
和
method.getParameterTypes[1] // gives "String"
那么我该如何实现呢?也许是一个循环?你对此有什么想法吗?谢谢。
【问题讨论】:
-
您使用的是
getParameterTypes()还是getTypeParameters()(示例中同时使用了两者)?有很大的不同... -
我用
getParameterTypes
标签: java dynamic reflection