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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java从List中直接读取未知对象属性数据相关的知识,希望对你有一定的参考价值。

  有时候我们会遇到在集合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中直接读取未知对象属性数据的主要内容,如果未能解决你的问题,请参考以下文章

从excel表格读取数据用Java代码实现批量上传写入数据库

Java中如何改变List里对象的属性值

Java如何读取CPU的数据信息

请问各位java中如何将数据库返回的多个字段值拼接为一个list并转换为json对象返回到前台,谢谢!

根据对象列表生成新卡片

Java - 从 url 读取页面源返回未知字符