有时候我们会遇到在集合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(); } } }
如此,我们就可以处理自己所需要的数据了。
时间: 2024-10-03 13:30:09