java中使用反射往一个泛型是Integer类型的ArrayList中添加字符串,反射的案例1.
2016-04-26 20:36
645 查看
//-------------------------
//废话不多说,直接上代码。代码里面添加了详细的解释。
//废话不多说,直接上代码。代码里面添加了详细的解释。
import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.ArrayList; /* * 在一个ArrayList<Integer>的一个对象,在这个集合里面添加一个字符串该如何实现呢? * 分析:因为在ArrayList<Integer> 中的Integer数据类型只是为了数据安全,将数据规范后给编译器识别真正在运行的时候,仍然是Object. * * */ public class ArrayListDemo { public static void main(String[] args) throws Exception { // 创建集合对象 ArrayList<Integer> array = new ArrayList<Integer>(); array.add(2); // 使用反射调用ArrayList的源码 Class c = array.getClass();//集合ArrayList的class文件 Constructor con = c.getConstructor(); Object obj = con.newInstance(); //如果使用此处的obj相当于通过class的无参构造重新创建了一个对象 System.out.println(obj == array); //false, Method method = c.getMethod("add", Object.class); //getMethod获取方法 method.invoke(array, "java"); //调用array的add方法传入的值是java System.out.println(array); } }
相关文章推荐
- [翻译]现代java开发指南 第二部分
- 使用Java实现折半查找
- 访问文件和目录
- java synchronized类锁,对象锁详解(转载)
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- JAVA——多线程举例
- JAVA基础总结
- java并发编程--Executor框架(一)
- Java Web防止表单重复提交
- Eclipse关联ndk-build(自建Builder方法)
- MyEclipse部署网站出现java.lang.OutOfMemoryError: PermGen space
- 使用jackson 进行json字符串转java bean报错
- java基础加强
- spring-继承
- java设计模式之装饰模式
- eclipse 和 android studio 快捷键对比
- 自己写的java excel导出工具类
- 学习SPRING MVC
- Java线程之interrupt终止线程,Thread中的主要方法(五)
- JAVA学习15_Java 中与时间有关的几个问题