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

© heke 中级黑马   /  2013-11-23 18:56  /  1382 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 heke 于 2013-11-23 19:44 编辑

ArrayList<Integer> list = new ArrayList<Integer>();在这个泛型为Integer的ArrayList中存放一个String类型的对象,这个可以实现么?

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定。

查看全部评分

2 个回复

倒序浏览
反射的话应该可以实现!泛型是编译时的约束,编译器编译完后会去掉类型信息,所以只要跳过编译就行了!
  1. ArrayList<String> strList = new ArrayList<String>();
  2. ArrayList<Integer> intList = new ArrayList<Integer>();
  3. System.out.println(strList.getClass()==intList.getClass());
复制代码
从上面这段代码的结果是true就可看出。反射获得集合,然后在调用其add方法就行了

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
FFF + 1 + 3 为什么不把后面的也写出来?

查看全部评分

回复 使用道具 举报
@FFF 楼主只问可以实现不?又没问咋写! 给一个思路就行了,动不动就给代码的心态是不好的。
不知道@能不能用!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马