如果想获取Java中某个实体类的所有属性并遍历各个属性,可以通过如下方式:
1.通过反射来获取
可以通过Java的反射机制来获取一个POJO的所有属性名称和属性值,如果获取的是private的属性可以使用getDeclaredFields()
方法;如果仅列出公共属性,可以使用getFields()
方法:
IesInOutOnhandEngMap engMap = inOutOnhandEngMaps.get(i);
Field[] fields = engMap.getClass().getDeclaredFields();
for (int j = 0; j < fields.length; j++) {
Field field = fields[j];
field.setAccessible(true);
System.out.println("成员属性:" + field.getName() + " 成员属性修饰符: "+field.getModifiers() + " 成员属性值: " + field.get(engMap));
}
注意:对于private属性,需要使用setAccessible(true)才能获取到。
2.通过Fastjson转换为Map来获取
IesInOutOnhandEngMap engMap = inOutOnhandEngMaps.get(i);
String jsonStr = JSON.toJSONString(engMap);
Map<String, Object> engMapMap = (Map) JSON.parseObject(jsonStr);
参考: