黑马程序员技术交流社区

标题: 泛型的问题 [打印本页]

作者: 程佳佳    时间: 2011-11-17 10:58
标题: 泛型的问题
怎么将集合中已经用泛型定义了类型的数据重新存入其他类型的数据。
看了好多资料好像说不行。
求一个确切的答案。谢谢了
作者: 高庆亮    时间: 2011-11-17 11:12
本帖最后由 高庆亮 于 2011-11-17 11:14 编辑

利用反射,泛型只是给jvm看的,利用反射到达底层然后在存数据,想存什么类型的都可以了,想具体了解看下张老师的视频。
也可以参考下我下的代码:public class Test {

       
        public static void main(String[] args)throws Exception {
                ArrayList<Integer> list = new ArrayList<Integer>();
                //list.add("abc");
                Method methodAdd =  list.getClass().getMethod("add", Object.class);
                methodAdd.invoke(list, "abc");
                System.out.println(list.get(0));
        }

}
我这个就是规定的泛型为整型,可是存进去的是String类型的。你运行下就能知道了。

(老师别忘了给我加分呀!真的很想去黑马。)
作者: moonlight    时间: 2011-11-17 12:05
你只要记住 运用泛型的时候 如果两边都需要加泛型则两边要保持一样 如果只有一边加另一边可以不用加!
作者: 骚灵小情歌    时间: 2011-11-17 13:02
高新视频你没有看?百分五百老师是讲过例子的。给你个思路,获取字节码,调用它的添加元素功能,把要放的元素放进去。
作者: 程佳佳    时间: 2011-11-17 13:09
看了,没有真正理解,现在理解的差不多了,谢谢大家了
作者: 後天__牛永志    时间: 2011-11-17 13:55
问题很好,顶一个
作者: 任俊杰    时间: 2011-11-17 16:50
高庆亮讲得很好,呵呵。只补序一下,泛型不是给jvm看的,是给编绎器看的。在编绎之后就不存在了。




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