/**
* Map 转化为对象
*
* @param map 要转换的map
* @param obj 转换为哪个对象
* @param <T> 返回值类型
* @return 返回值
* @throws Exception newInstance可能会抛出的异常
*/
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;
}
/**
* 对象转化为 Map
*
* @param obj 要转换的对象
* @return map 转换结果
* @throws IllegalAccessException 访问权限的异常
*/
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;
}