妖碧落

导航

通过反射绕过泛型

import java.lang.reflect.Method;
import java.util.ArrayList;

public class test1 {
  //   泛型只在编译期有效,   在编译之后通过字节码文件,添加元素 不受泛型限制
    public static void main(String[] args) throws Exception {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(111);
        list.add(222);
        
        Class clazz = Class.forName("java.util.ArrayList");
        Method m = clazz.getMethod("add", Object.class);
        m.invoke(list, "abc");
        
        System.out.println(list);
        
        
    }

}

 

posted on 2019-08-15 18:59  妖碧落  阅读(287)  评论(0编辑  收藏  举报