Java获取实体类所有字段属性的实现方式

科学上网 | 国外VPS推荐 | 机场推荐

如果想获取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);

参考:

  1. How can use reflection to get the property names and values from a POJO?
赞(0)
未经允许禁止转载:四个空格 » Java获取实体类所有字段属性的实现方式

评论 抢沙发

登录

找回密码

注册