通过反射获得泛型的参数类型后,如何通过所得结果创建该类型的一个实例?
首先写出如何获得参数类型:
public class GenericTest
{
/**
* @param args
*/
public static void main(String[] args) throws Exception
{
Method appMethod = GenericTest.class.getMethod("appType", Vector.class);
Type[] Types= appMethod.getGenericParameterTypes();
ParameterizedType pTypes= (ParameterizedType)Types[0];
System.out.println(pTypes.getActualTypeArguments()[0]);
Constructor[] constructors=pTypes.getActualTypeArguments()[0].getClass().getConstructors();//这个行代码不能获得任何构造函数。
}
public static void appType(Vector<Date> v )
{
}
}
输出结果是:
class java.util.Date
我想通过这个类型获得其构造函数,之后再通过构造函数创建一个该对象的实例但是没有成功请问应该怎么办,看了帮助文档也没有成功。
主要原因是返回值是class java.util.Date无法通过这个字符串来获得该类型的字节码,也就没法获得构造函数。
|
|