黑马程序员技术交流社区

标题: 向一个指定类型的泛型容器添加另外一个类型的元素 [打印本页]

作者: a591986427    时间: 2015-12-17 14:04
标题: 向一个指定类型的泛型容器添加另外一个类型的元素
向一个指定类型的泛型容器添加另外一个类型的元素,能实现吗?
作者: a944090777    时间: 2015-12-17 14:04
用反射能实现
ArrayList<Integer> list = new ArrayList<Integer>();
                String str = "I'm a string";
                Integer i = 1;
                //获取add方法对象
                Method m = list.getClass().getMethod("add", Object.class);
                //利用正确方式添加Integer对象
                list.add(i);
                //利用正确方式添加String对象,编译报类型不能转换错误
                //list.add(str);
                //利用反射方式添加Integer对象
                m.invoke(list, i);
                //利用反射方式添加String对象
                m.invoke(list, str);
                for(Object obj:list){
                        System.out.println(obj);
                }
作者: zcbcba123    时间: 2015-12-17 15:12
a944090777 发表于 2015-12-17 14:04
用反射能实现
ArrayList list = new ArrayList();
                String str = "I'm a string";

这样真的可以么!!!我试试去。。那如果可以还要什么泛型

作者: zcbcba123    时间: 2015-12-17 15:20
a944090777 发表于 2015-12-17 14:04
用反射能实现
ArrayList list = new ArrayList();
                String str = "I'm a string";

果然可以~~这么吊!!!。。。那这样还要泛型有啥意义。。。
作者: 爱吃砂锅    时间: 2015-12-19 20:14
{:2_33:}{:2_35:}没看懂
作者: 雨来    时间: 2015-12-24 20:13
嘿嘿看过,不错




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