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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

21黑马币
向一个指定类型的泛型容器添加另外一个类型的元素,能实现吗?

最佳答案

查看完整内容

用反射能实现 ArrayList list = new ArrayList(); 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, st ...

5 个回复

倒序浏览
用反射能实现
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);
                }
回复 使用道具 举报
a944090777 发表于 2015-12-17 14:04
用反射能实现
ArrayList list = new ArrayList();
                String str = "I'm a string";

这样真的可以么!!!我试试去。。那如果可以还要什么泛型
回复 使用道具 举报
a944090777 发表于 2015-12-17 14:04
用反射能实现
ArrayList list = new ArrayList();
                String str = "I'm a string";

果然可以~~这么吊!!!。。。那这样还要泛型有啥意义。。。
回复 使用道具 举报
{:2_33:}{:2_35:}没看懂
回复 使用道具 举报
嘿嘿看过,不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马