# 1. 实体转Map
public class Test {
public static void main(String[] args) {
long s1 = System.currentTimeMillis();
Map<String, Object> dataMap = objectToMap(new User().setUser());
long s2 = System.currentTimeMillis();
System.out.println("花费时间毫秒:"+(s2-s1));
System.out.println(dataMap);
}
public static Map<String, Object> objectToMap(Object object){
Map<String,Object> dataMap = new HashMap<>();
Class<?> clazz = object.getClass();
for (Field field : clazz.getDeclaredFields()) {
try {
field.setAccessible(true);
dataMap.put(field.getName(),field.get(object));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return dataMap;
}
}
# 2. Map转实体
public static <T> T mapToEntity(Map<String, Object> map, Class<T> entity) {
if (null == map){
return null;
}
T t = null;
try {
t = entity.newInstance();
for(Field field : entity.getDeclaredFields()) {
if (map.containsKey(field.getName())) {
boolean flag = field.isAccessible();
field.setAccessible(true);
Object object = map.get(field.getName());
if (object!= null && field.getType().isAssignableFrom(object.getClass())) {
field.set(t, object);
}
field.setAccessible(flag);
}
}
return t;
} catch (InstantiationException e) {
logger.error("convert error ", e);
} catch (IllegalAccessException e) {
logger.error("convert error ", e);
}
return t;
}
map和实体类互转的代码示例
最新推荐文章于 2022-09-23 15:16:58 发布