java反射(一) :通过反射越过泛型检查

通过反射越过泛型检查,举个例子,假如向一个泛型为Integer的集合中添加一些字符串数据,如果不通过反射,我们是不可能实现的,但是通过反射,我们不但可以越过泛型检查,还可以添加任意数据类型到该集合。代码如下:
 
public class Test01 {
public static void main(String[] args) throws Exception {
ArrayList<Integer> array = new ArrayList<Integer>(); //创建集合
Class <? extends  ArrayList> c = array.getClass();
Method m = c.getMethod("add", Object.class);   //  同构反射调用方法
m.invoke(array,20);
m.invoke(array,"hello");
m.invoke(array,‘a’);
System.out.println(array);    // 遍历集合内容查看是否添加成功
   }
}
 

猜你喜欢

转载自www.cnblogs.com/fcCoder666/p/11042033.html