黑马程序员技术交流社区
标题:
在泛型为Integer的ArrayList中存放一个String类型的对象。
[打印本页]
作者:
怪人长
时间:
2016-3-24 22:58
标题:
在泛型为Integer的ArrayList中存放一个String类型的对象。
ArrayList<Integer> list = new ArrayList<Integer>();在这个泛型为Integer的ArrayList中存放一个String类型的对象。
/**
* ArrayList<Integer> list = new ArrayList<Integer>();
* 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
*
* 分析:
* 泛型只在编译期有效,在运行期会被擦除掉,所以用反射的获取其字节码对象,获取add方法进行操作,
* 该方法叫做泛型擦除,也叫作泛型反射;
*/
public class Test1 {
public static void main(String[] args) throws Exception {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(111);
list.add(222);
Class clazz = Class.forName("java.util.ArrayList");//获取字节码对象;
Method m = clazz.getMethod("add", Object.class); //获取add方法;
m.invoke(list, "abc");
System.out.println(list);
}
}
复制代码
作者:
11210107
时间:
2016-3-25 09:38
太棒啦赞一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2