黑马程序员技术交流社区
标题:
关于ArrayList的问题
[打印本页]
作者:
hbk000
时间:
2015-4-7 23:48
标题:
关于ArrayList的问题
ArrayList<Integer> list = new ArrayList<Integer>();
在这个泛型为Integer的ArrayList中存放一个String类型的对象?
这是一道题,可泛型为Integer怎么可以去存一个String的对象呢?求解?
作者:
夜班心桥
时间:
2015-4-8 00:05
一旦泛型限制了,就只能存储该类型的元素。
作者:
关山明月
时间:
2015-4-8 13:51
好像反射可以。。。。
作者:
小鹏_sJQBO
时间:
2015-4-8 13:55
据我理解,是存不进去的
作者:
海东青
时间:
2015-4-8 16:11
本帖最后由 海东青 于 2015-4-8 16:17 编辑
import java.lang.reflect.Method;
import java.util.ArrayList;
public class test {
/**
* @param args 杨
* @throws Exception
* @throws SecurityException
* 两种做法,考察的是反射和泛型综合,具体来说是绕过编译时的泛型检查
*/
public static void main(String[] args) throws SecurityException, Exception {
// TODO Auto-generated method stub
ArrayList<Integer> list=new ArrayList<Integer>();
list.add(1);
Class c=list.getClass();
Method method=c.getDeclaredMethod("add", Object.class);
method.invoke(list,"nihao");
System.out.println(list);
System.out.println("-----------------------------------------------");
System.out.println("l1定义为integer型,l2不限制泛型");
ArrayList<Integer> l1=new ArrayList<Integer>();
ArrayList l2=l1;
l2.add("nihao");
System.out.println(l1);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2