Java基础(反射案例)
2012-11-11 21:34
239 查看
package cn.itcast.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
/**
* 这个案例表明的意思是怎么向指定类型的集合添加不同类型的数据
*/
public class ReflectedTest {
/** * 用两种解决方案:
* 1:用Java的反射机制,因为在反射的时候对泛型有那么一种擦除机制
* 2:移除此对象的引用,让其没有了引用,在堆内存中变成垃圾
*/
@Test
public void testReflected() throws Exception{
List<String> list=new ArrayList<String>();
list.add("liyuan");
list.add("an");
//这个是出错的
// list.add(23);
//1: 反射解决
/*Method method = list.getClass().getMethod("add",Object.class);
method.invoke(list,34);*/
//2: 移除对象的引用
List list2=new ArrayList();
list2=list; //在内存图上就是说这个
list2.add(23);
for(Object obj: list){
System.out.println(obj.getClass());
}
}
}
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
/**
* 这个案例表明的意思是怎么向指定类型的集合添加不同类型的数据
*/
public class ReflectedTest {
/** * 用两种解决方案:
* 1:用Java的反射机制,因为在反射的时候对泛型有那么一种擦除机制
* 2:移除此对象的引用,让其没有了引用,在堆内存中变成垃圾
*/
@Test
public void testReflected() throws Exception{
List<String> list=new ArrayList<String>();
list.add("liyuan");
list.add("an");
//这个是出错的
// list.add(23);
//1: 反射解决
/*Method method = list.getClass().getMethod("add",Object.class);
method.invoke(list,34);*/
//2: 移除对象的引用
List list2=new ArrayList();
list2=list; //在内存图上就是说这个
list2.add(23);
for(Object obj: list){
System.out.println(obj.getClass());
}
}
}
相关文章推荐
- 23-java基础加强(反射、泛型、注解、动态代理)
- java基础11:正则表达式与反射
- 实战案例-- 用Java编写基础小程序
- java基础——反射
- Java基础知识强化之IO流笔记24:FileInputStream / FileOutputStream 复制文本文件案例2
- Java基础知识强化之IO流笔记25:FileInputStream / FileOutputStream 复制图片案例
- 【iOS基础】KVC的特殊作用!原来它有Java反射的效果!
- G笔记_Java基础(变量、基本类型、运算符和表达式-1)[案例]
- JAVA基础知识之JVM-——使用反射生成并操作对象
- 【Java基础】——反射
- java基础之反射机制
- java基础学习--反射
- java中的 反射用法以及案例
- Java基础-21总结字符流,IO流编码问题,实用案例
- 黑马程序员——Java语言基础——10.反射
- Java基础--反射机制的知识点梳理
- Java基础知识强化之集合框架笔记69:Collections类之ArrayList存储自自定义对象并排序的案例
- Java基础---Java---基础加强---内省的简单运用、注解的定义与反射调用、 自定义注解及其应用、泛型及泛型的高级应用、泛型集合的综合
- Java基础--反射Reflect----Method
- java 基础知识(java 反射 用法总结)