黑马程序员技术交流社区
标题:
面试题-----实在想不到这问题的答案
[打印本页]
作者:
安东诺夫
时间:
2016-5-12 23:56
标题:
面试题-----实在想不到这问题的答案
ArrayList<Integer> list = new ArrayList<Integer>();在这个泛型为Integer的ArrayList中存放一个String类型的对象。
蒙了。。。。。。
作者:
xiaoxiqq
时间:
2016-5-13 03:26
我想说.Integer的构造方法里可以加字符串.
作者:
liucuifu
时间:
2016-5-13 08:29
看起来好流弊的样子
作者:
zhoubinjian
时间:
2016-5-13 11:16
这个 是用反射来做的,,反射是可以越过泛型的,通过获取.Class对象来建立对应ArrayList的对象,再添加元素就行了,懂不。
作者:
cxl1694095035
时间:
2016-5-13 16:23
package com.itheima;
import java.lang.reflect.Method;
import java.util.ArrayList;
public class Test2 {
public static void main(String[] args) throws Exception{
ArrayList<Integer> list = new ArrayList<Integer>();
Method methodAdd = list.getClass().getMethod("add",Object.class);
methodAdd.invoke(list,"String");
System.out.println(list);
}
}
入学考试题
作者:
yanzhendong
时间:
2016-5-13 22:08
ArrayList<Integer> list = new ArrayList<Integer>();在这个泛型为Integer的ArrayList中存放一个String类型的对象。
最简单的方式是:
ArrayList mList=list;//此时mList已经没有类型信息了,可以插入任意的对象
mList.add("Hello World!");
作者:
hlh
时间:
2016-5-13 22:22
这个需要强制类型转换吧
作者:
钱金磊
时间:
2016-5-13 22:48
hlh 发表于 2016-5-13 22:22
这个需要强制类型转换吧
这个玩意强转不了的!子有用反射来解决!
作者:
钱金磊
时间:
2016-5-13 22:50
强转的话,编译不出错,运行出错!
作者:
再见卡卡罗特
时间:
2016-5-13 23:01
看一看。。。。。。
作者:
zlb820
时间:
2016-5-13 23:02
反射呗 所有的泛型 在执行时 ,都会被刷去。所以在运行时根本不存在类型的说法,都是二进制数有啥区别。
作者:
zlb820
时间:
2016-5-13 23:04
反射呗 所有的泛型 在执行时 ,都会被刷去。所以在运行时根本不存在类型的说法,都是二进制数有啥区别。
作者:
inzaghi9247
时间:
2016-5-13 23:13
好难啊。总感觉自己还是努力不够
作者:
HeiMaZ
时间:
2016-5-13 23:14
.....这是啥,看不懂
作者:
climb
时间:
2016-5-14 00:39
题目高大上。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2