A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程佳佳 黑马帝   /  2011-11-17 10:58  /  2118 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么将集合中已经用泛型定义了类型的数据重新存入其他类型的数据。
看了好多资料好像说不行。
求一个确切的答案。谢谢了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 高庆亮 于 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类型的。你运行下就能知道了。

(老师别忘了给我加分呀!真的很想去黑马。)

评分

参与人数 1技术分 +2 收起 理由
admin + 2 加油!

查看全部评分

回复 使用道具 举报
你只要记住 运用泛型的时候 如果两边都需要加泛型则两边要保持一样 如果只有一边加另一边可以不用加!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
高新视频你没有看?百分五百老师是讲过例子的。给你个思路,获取字节码,调用它的添加元素功能,把要放的元素放进去。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
看了,没有真正理解,现在理解的差不多了,谢谢大家了
回复 使用道具 举报
问题很好,顶一个
回复 使用道具 举报
任俊杰 黑马帝 2011-11-17 16:50:55
7#
高庆亮讲得很好,呵呵。只补序一下,泛型不是给jvm看的,是给编绎器看的。在编绎之后就不存在了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马