A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ArrayList<Integer> list = new ArrayList<Integer>();在这个泛型为Integer的ArrayList中存放一个String类型的对象。


  1. /**

  2. * ArrayList<Integer> list = new ArrayList<Integer>();
  3. * 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
  4. *
  5. * 分析:
  6. * 泛型只在编译期有效,在运行期会被擦除掉,所以用反射的获取其字节码对象,获取add方法进行操作,
  7. * 该方法叫做泛型擦除,也叫作泛型反射;
  8. */
  9. public class Test1 {

  10.         public static void main(String[] args) throws Exception {
  11.                 ArrayList<Integer> list = new ArrayList<Integer>();
  12.                 list.add(111);
  13.                 list.add(222);
  14.                
  15.                 Class clazz = Class.forName("java.util.ArrayList");//获取字节码对象;
  16.                 Method m = clazz.getMethod("add", Object.class);        //获取add方法;
  17.                 m.invoke(list, "abc");
  18.                
  19.                 System.out.println(list);
  20.                
  21.         }

  22. }
复制代码


1 个回复

倒序浏览
太棒啦赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马