1.泛型

反射API用来生成在当前JAVA虚拟机中的类、接口或者对象的信息。
Class类:反射的核心类,可以获取类的属性,方法等内容信息。
Field类:Java.lang.reflect.表示类的属性,可以获取和设置类的中属性值。
Method类:Java.lang.reflect。表示类的方法,它可以用来获取类中方法的信息或者执行方法
Construcor类:Java.lang.reflect。表示类的构造方法。

package com.imooc.reflect;

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

public class ClassDemo4 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
ArrayList<String> list1 = new ArrayList<String>();
list1.add("hello");
Class c1 = list.getClass();
Class c2 = list1.getClass();
System.out.println(c1 == c2);

/**
* 反射的操作都是编译之后的操作
* c1==c2 结果返回true说明编译之后集合的泛型是去泛型化的
* java中集合的泛型,是防止错误输入的,只在编译阶段有效,
* 绕过编译就无效了
* 验证:我们可以通过方法的反射来操作,绕过编译
*/
try {
Method m = c2.getMethod("add", Object.class);
m.invoke(list1, 100);//绕过编译操作就绕过了泛型
System.out.println(list1.size());
System.out.println(list1);
/*
for (String string : list1) {
System.out.println(string);
}*///现在就不能这样遍历了
} catch (Exception e) {
//TODO:handle exception
e.printStackTrace();

}
}
}

最新文章

  1. 访问IIS网站需要输入用户名密码(非匿名登录)问题汇总
  2. oralce 密码长度
  3. 系统调用方式文件编程,王明学learn
  4. 关于collapsed margin(外边距合并)
  5. 小白学Linux(二)--命令行基本操作
  6. svn vs git
  7. 51nod1369 无穷印章
  8. JSLink to render the list to show people detail info with picture
  9. 【HDOJ】1422 重温世界杯
  10. 双slave的server_uuid同样问题
  11. DOS命令行 定时关机&amp;取消定时关机
  12. angular在ie8下的一个bug
  13. C#操作Kentico cms
  14. Python入门教程(1)
  15. 50个php程序性能优化集锦
  16. Java中对List&lt;E&gt;按E的属性排序的简单方法
  17. 如何恢复(初始化)android studio所有设置
  18. Android开发技巧——定制仿微信图片裁剪控件
  19. 使用C++的string实现高精度加法运算
  20. 001-zookeeper 简介-paxos算法,zk简介,特点

热门文章

  1. 替小白整理的 linux基操命令 切勿扣6 不用感谢
  2. 5个不常提及的HTML技巧
  3. Solution Set -「LOCAL」冲刺省选 Round XXII
  4. Solution -「AGC 004E」「AT 2045」Salvage Robots
  5. Solution -「CF 793G」Oleg and Chess
  6. 性能测试:k8s集群监控环境搭建(kube-prometheus)
  7. Flume学习记录
  8. XSS Challenge靶场练习
  9. DT时代,优秀的BI工具应该具备哪些功能
  10. 【基础知识】cache 管线(Pipeline)的建立便可以提升cpu的性能,为什么还要去发展多核的cpu?