黑马程序员技术交流社区

标题: 关于泛型的使用问题 [打印本页]

作者: rehan    时间: 2015-2-13 10:11
标题: 关于泛型的使用问题
问题如下:我们如何在泛型为Integer的ArrayList中存放一个String类型的对象呢?请以代码的形式举例说明。

作者: franksight    时间: 2015-2-13 10:29
ArrayList<Integer> al=new ArrayList<>();al=Integer.parseInt(str);
应该可以吧

作者: wf111sxwf    时间: 2015-2-13 13:32
  泛型 只在编译时期有 在class文件里 是没有的  ,所以  这题就是考的 反射
伪代码如下:
class Demo{
List<Integer>al = new ArrayList<>();
Class clazz = al.getClass();
Method method = clazz.getMethod("add",Object.class);
method.invoke(al,"abc");
syso(al);

}
作者: xyf19881010    时间: 2015-2-13 16:06
你都泛型限定了ArrayList里面装的是Integer,为什么还要往里面放String对象。泛型的功能就是限制这种情况的发生。
作者: liaohongjie    时间: 2015-2-13 16:42
这就是考的反射,还考你泛型的应用,看你是否明白泛型的擦出技术。在编译源文件后,泛型就被去除了。明白吗?
作者: lwj123    时间: 2015-2-13 17:27
A:获取ArrayList的字节码文件对象Class
B:获取add方法的对象Method
C:调用这个方法,将字符串数据传进去即可!
作者: ~我思故我在~    时间: 2015-2-13 17:31
应该是要考到反射
作者: 枪杆不如笔杆    时间: 2015-2-13 17:40
好复杂的样子,这应该是高新应用里面的知识了,加油啊....
作者: rehan    时间: 2015-2-13 18:03
liaohongjie 发表于 2015-2-13 16:42
这就是考的反射,还考你泛型的应用,看你是否明白泛型的擦出技术。在编译源文件后,泛型就被去除了。明白吗 ...

原来是这样。。。。。。。。。




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