public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
if (obj == null) {
return null;
}
Map<String, Object> map = new HashMap<>(16);
Field[] declaredFields = obj.getClass().getDeclaredFields();
for (Field field : declaredFields) {
field.setAccessible(true);
if (null != field.get(obj)) {
map.put(field.getName(), field.get(obj));
}
}
return map;
}
public static <T> T mapToObj(Map map, Class<T> obj) throws Exception {
Field[] fields = obj.getDeclaredFields();
T o = obj.newInstance();
for(Field field:fields){
Object val;
if((val = map.get(field.getName())) != null){
field.setAccessible(true);
field.set(o,val);
}
}
return o;
}