需求:将实体类对象的属性名和属性值转为k-v的形式,存放到map
java代码:
public static Map<String,Object> object2Map(Object object){
Map<String,Object> result=new HashMap<>();
//获得类的的属性名 数组
Field[]fields=object.getClass().getDeclaredFields();
try {
for (Field field : fields) {
field.setAccessible(true);
String name = new String(field.getName());
result.put(name, field.get(object));
}
}catch (Exception e){
e.printStackTrace();
}
return result;
}
测试示例:
定义一个java bean:
class User{
private String name;
private String sex;
private Integer age;
public User(String name, String sex, Integer age) {
this.name = name;
this.sex = sex;
this.age = age;
}
}