package com.tain_Test;
import java.lang.reflect.Method;
import java.util.ArrayList;
/**
* 通过反射越过泛型检查
* @Descrption ArrayList<Integer>的一个对象,在这个集合中添加一个字符串数据,如何实现???
* 泛型只在编译期有效,在运行期会被擦除掉
*
*
*/
public class Test1 {
public static void main(String[] args) throws Exception {
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(123);
//list.add("Hello World!"); //不允许添加字符串
Class clazz = Class.forName("java.util.ArrayList"); //获取字节码对象
Method m = clazz.getMethod("add", Object.class); //获取add()方法
m.invoke(list, "Hello World");
System.out.println(list);
}
}
通过反射越过泛型检查
最新推荐文章于 2021-09-11 11:25:44 发布