package generic;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Vector;
public class GenericTest2 {
public static void main(String[] args) throws Exception{
System.out.println("----通过反射 获取泛型实际类型参数-----");
//通过反射 获取泛型实际类型参数
Vector<java.util.Date> vector=new Vector<java.util.Date>();
Method method2=GenericTest.class.getMethod("apply", Vector.class);
Type[] types=method2.getGenericParameterTypes();
ParameterizedType ptype=(ParameterizedType) types[0];
System.out.println(ptype.getRawType());
System.out.println(ptype);
System.out.println(ptype.getActualTypeArguments()[0]);
}
public static void apply(Vector<java.util.Date> vector){
}
}
结果:
----通过反射 获取泛型实际类型参数-----
class java.util.Vector
java.util.Vector<java.util.Date>
class java.util.Date