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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ArrayList<Integer> list = new ArrayList<Integer>();
在这个泛型为Integer的ArrayList中存放一个String类型的对象。
怎样才能做到呢,就是做到了,有什么应用价值呢
情举例谢谢!!

46 个回复

正序浏览
给力给力
回复 使用道具 举报
修炼无岁月啊,贫道还是继续闭关吧
回复 使用道具 举报
也就是说,要我们打破泛型的作用,跟底层做对吧
回复 使用道具 举报
这题太有意思了~
回复 使用道具 举报
长见识啦
回复 使用道具 举报
高人好多啊
回复 使用道具 举报
olivor 中级黑马 2015-12-26 00:00:44
41#
bucuo{:2_30:}
回复 使用道具 举报
又长见识了~
回复 使用道具 举报
跪拜,短小精悍
各位大神
一个反射颠覆以前的学习知识
回复 使用道具 举报
匿名者 发表于 2011-9-1 22:22
这个可以通过反射的方式实现,因为泛型的作用层在编译时。而反射直接获得了add方法的字节码跳过编译层在运 ...

加上这句话
import java.lang.reflect.Method;
回复 使用道具 举报
匿名者 发表于 2011-9-1 22:22
这个可以通过反射的方式实现,因为泛型的作用层在编译时。而反射直接获得了add方法的字节码跳过编译层在运 ...

Method methodAddString = list.getClass().getMethod("add", Object.class);
                methodAddString.invoke(list, "abc");

这个“abc”是当被做Object类型的加进去的吧?算是一个String类型的对象么?
回复 使用道具 举报
匿名者 发表于 2011-9-2 09:51
.....啥时候考试题都拿来当讨论题了,牛逼。我给你个牛逼答案吧:
ArrayList list = new ArrayList();
Arra ...

蠢蛋   
回复 使用道具 举报
学习了,好吧,反射~
回复 使用道具 举报
   为什么能再ArrayList<Interger>加入String变量,The method add(Integer) in the type ArrayList<Integer> is not applicable for the arguments (String) 你要知直接加就是这个错误。编译阶段就会保存(存入类型和申明类型不一样),但是可以通过反射动态加载。   但是用于实际个人认为无任何意思:因为String类型被当做Integer类型解析 (java.lang.String cannot be cast to java.lang.Integer)。
回复 使用道具 举报
受用了各位的思路,真是谢谢了
回复 使用道具 举报
顶一个:lol:lol
回复 使用道具 举报
膜拜大神:handshake
回复 使用道具 举报
受教了,谢谢。
回复 使用道具 举报
这个只有理解了泛型和反射到了一定的深度才能写出来啊,我刚开始想着基本不太可能,哎,学海无涯啊!:Q
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马