码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-02-23 15:59:14      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:java;list;object;反射机制

  有时候我们会遇到在集合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

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

标签:java;list;object;反射机制

原文地址:http://amtows.blog.51cto.com/6268328/1744303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!