黑马程序员技术交流社区
标题:
反射的问题求解,同学们帮我看看,多谢了
[打印本页]
作者:
love_java
时间:
2013-4-13 09:49
标题:
反射的问题求解,同学们帮我看看,多谢了
本帖最后由 love_java 于 2013-4-18 21:38 编辑
List list=new ArrayList();
Bean b1 = new Bean();
Bean b2 = new Bean();
list.add(b1);
list.add(b2);
b1和b2中都分别有两个属性 name 和 sex。要通过反射得到获取list中b1和b2的name和sex 怎么获取?
作者:
罗海清
时间:
2013-4-13 10:33
本帖最后由 罗海清 于 2013-4-13 10:34 编辑
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
List list=new ArrayList();
Bean b1 = new Bean();
Bean b2 = new Bean();
list.add(b1);
list.add(b2);
Class clazz = list.getClass();
Method getMethod = clazz.getMethod("iterator");
Iterator it = (Iterator) getMethod.invoke(list, null);
while(it.hasNext()){
Bean bean = (Bean) it.next();
Class beanClass = bean.getClass();
Field[] fields = beanClass.getDeclaredFields();
for(Field field:fields){
field.setAccessible(true);
System.out.println(field.getName()+":"+field.get(b1));
}
}
}
}结果是:name:nullname:null
sex:null
sex:null
作者:
李希鹏
时间:
2013-4-18 21:28
CSDN
bt_lose
TestDemo.zip
2013-4-18 21:27 上传
点击文件名下载附件
6.11 KB, 下载次数: 71
作者:
love_java
时间:
2013-4-18 21:38
谢了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2