黑马程序员技术交流社区

标题: 通过反射获得泛型的参数类型后…… [打印本页]

作者: 张希强    时间: 2012-3-15 00:27
标题: 通过反射获得泛型的参数类型后……
通过反射获得泛型的参数类型后,如何通过所得结果创建该类型的一个实例?
首先写出如何获得参数类型:
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无法通过这个字符串来获得该类型的字节码,也就没法获得构造函数。



作者: 张希强    时间: 2012-3-15 10:55
这问题别沉了,自己把它顶上去。
有人知道答案么
作者: 泮和顺    时间: 2012-3-15 11:13
张希强 发表于 2012-3-15 10:55
这问题别沉了,自己把它顶上去。
有人知道答案么

...就这么个带主方法的测试类  一个没有意义的方法你想做什么呢 简单的东西把他搞复杂化




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2