用JAVA写一个实体类和map相互转换的工具类EntityMapUtils
使用Java编写实体类和Map相互转换的工具类可以方便地将对象转换为Map,或将Map转换为对象。以下是一个简单的示例代码:
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class EntityMapUtils {
/**
* 将实体类转换为Map
*
* @param obj 实体类对象
* @return Map
*/
public static Map<String, Object> entityToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
try {
for (Field field : fields) {
field.setAccessible(true);
map.put(field.getName(), field.get(obj));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return map;
}
/**
* 将Map转换为实体类
*
* @param map Map对象
* @param clazz 实体类的Class对象
* @return 实体类对象
*/
public static <T> T mapToEntity(Map<String, Object> map, Class<T> clazz) {
T obj = null;
try {
obj = clazz.newInstance();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
field.set(obj, map.get(field.getName()));
}
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
return obj;
}
}
使用示例:
// 将实体类转换为Map
User user = new User("张三", 20);
Map<String, Object> map = EntityMapUtils.entityToMap(user);
// 将Map转换为实体类
User user = EntityMapUtils.mapToEntity(map, User.
还没有评论,来说两句吧...