我在ClassTest声明的List参数都是有具体的类型的(List)
但是通过按照如下的代码只能得到“E”这样一个范性的声明,想知道能否通过反射得到具体实例化的信息?
现在的代码
[code="java"] try{
Class c1 = Class.forName("script.ClassTest");
;
for (Method meth : c1.getMethods()) {
System.out.println("meth = " + meth.getName());
for (Class c2 : meth.getParameterTypes()) {
System.out.println(" c2 = " +c2.getName());
for (TypeVariable<?> tv : c2.getTypeParameters()) {
System.out.println(" tv = "+tv.getName());
}
}
}
}[/code]
被测代码是:
[code="java"]public class ClassTest {
public int tM(List ls){
return 1;
}
public List<?> tM(int a,List<?> test){
return test;
}
}[/code]
输出如下:
meth = tM
c2 = java.util.List
tv = E
meth = tM
c2 = int
c2 = java.util.List
tv = E