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

Java从List中直接读取未知对象属性数据

2016-02-23 15:38 363 查看
有时候我们会遇到在集合List中存放有多种对象的情况,这时候我们就无法直接将List内的数据映射为具体的类,使用get的方法获取其对应属性的值。
在这种情况下我们可以使用Java的反射机制来获取List中的对象的属性和内容值。示例代码:
for(int k=0;k<list.size();k++){
Field[] fields = list.get(k).getClass().getDeclaredFields();
Object oi = list.get(k);
for (int j = 0; j < fields.length; j++) {
if(!fields[j].isAccessible()){
fields[j].setAccessible(true);
}
try {
//获取指定属性值的值
if(fields[j].getName().equals("serial")){
System.out.println(fields[j].get(oi).toString());
}
//循环打印所有属性和对应值
System.out.println(fields[j].getName()+":"+fields[j].get(oi));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
如此,我们就可以处理自己所需要的数据了。

本文出自 “Amtows--forever” 博客,请务必保留此出处http://amtows.blog.51cto.com/6268328/1744303
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: