你的位置:首页 > Java教程

[Java教程]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();         }   }}

  如此,我们就可以处理自己所需要的数据了。


获取【下载地址】