当前位置: 代码迷 >> J2SE >> 关于ArrayList解决思路
  详细解决方案

关于ArrayList解决思路

热度:49   发布时间:2016-04-23 21:43:31.0
关于ArrayList
ArrayList<Integer> list = new ArrayList<Integer>(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。


这道题求大神给思路

------解决方案--------------------
引用:
Quote: 引用:

		ArrayList<Integer> list = new ArrayList<Integer>();
Method add = ArrayList.class.getDeclaredMethod("add", Object.class);
add.invoke(list, "csdn");
System.out.println(list.get(0));

居然可以啊,原理是什么呢??Arraylist并没有提供添加object类型的参数啊?
    public boolean add(E e) {}
    public void add(int index, E element) {}

Java的泛型是伪泛型,基本是在编译器实现的,在生成的字节码中是不包含泛型中的类型信息的。。这种机制好像是叫类型擦除,在这你打印一下就知道了
		Method[] method = ArrayList.class.getMethods();
for(Method m : method){
System.out.println(m);
}
  相关解决方案