import java.lang.reflect.Field;
import java.util.*;
/**
* 获取对象的所有字段名和字段值
*
* @param object
* @return
*/
public static Map<String, Object> getFieldNameAndValue(Object object) {
Map<String, Object> map = new HashMap<>();
Class clazz = object.getClass();
List<Field> fieldList = new ArrayList<>();
while (clazz != null) {
fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));
clazz = clazz.getSuperclass();
}
Field[] fields = new Field[fieldList.size()];
fieldList.toArray(fields);
try {
for (Field field : fields) {
field.setAccessible(true);
map.put(field.getName(), field.get(object));
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
END。