您的位置:首页 > 编程语言 > Java开发

java反射

2015-11-24 14:09 561 查看
public class Test04 {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) {
ArrayList list = new ArrayList();
ArrayList<String> list01 = new ArrayList<String>();
Class c1 = list.getClass();
Class c2 = list01.getClass();
System.out.println(c1==c2);//true
/**
* 反射的操作都是编译之后的操作
* 说明编译之后集合的泛型是去泛型化的
* java中集合的泛型是防止错误输入的,只在编译阶段有效,绕过编译就无效了
* 我们可以通过方法的反射来操作,绕过编译*/
try {
Method m = c1.getMethod("add", Object.class);
m.invoke(list01, 100);//把int型的数据插入了ArrayList<String>内
System.out.println(list01.size());
//    System.out.println(list01.get(0));
} catch (Exception e) {
e.printStackTrace();
}
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: