public classBeanToMap {public static MapConvertObjToMap(Object obj) {
Map reMap = new HashMap<>();if (obj == null)return null;
List fields = new ArrayList<>();
ListchildFields;
List fieldsName = new ArrayList<>();
Class tempClass=obj.getClass();while (tempClass != null) {//当父类为null的时候说明到达了最上层的父类(Object类).
fields.addAll(Arrays.asList(tempClass.getDeclaredFields()));
tempClass= tempClass.getSuperclass(); //得到父类,然后赋给自己
}
childFields=Arrays.asList(obj.getClass().getDeclaredFields());for(Field field : childFields) {
fieldsName.add(field.getName());
}try{for(Field field : fields) {try{if(fieldsName.contains(field.getName())) {
Field f=obj.getClass().getDeclaredField(
field.getName());
f.setAccessible(true);
Object o=f.get(obj);
reMap.put(field.getName(), o);
}else{
Field f=obj.getClass().getSuperclass().getDeclaredField(
field.getName());
f.setAccessible(true);
Object o=f.get(obj);
reMap.put(field.getName(), o);
}
}catch(Exception e) {
e.printStackTrace();
}
}
}catch(SecurityException e) {
e.printStackTrace();
}returnreMap;
}
}