用JAVA写一个实体类和map相互转换的工具类EntityMapUtils

川长思鸟来 2024-03-22 12:48 98阅读 0赞

使用Java编写实体类和Map相互转换的工具类可以方便地将对象转换为Map,或将Map转换为对象。以下是一个简单的示例代码:

  1. import java.lang.reflect.Field;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. public class EntityMapUtils {
  5. /**
  6. * 将实体类转换为Map
  7. *
  8. * @param obj 实体类对象
  9. * @return Map
  10. */
  11. public static Map<String, Object> entityToMap(Object obj) {
  12. Map<String, Object> map = new HashMap<>();
  13. Class<?> clazz = obj.getClass();
  14. Field[] fields = clazz.getDeclaredFields();
  15. try {
  16. for (Field field : fields) {
  17. field.setAccessible(true);
  18. map.put(field.getName(), field.get(obj));
  19. }
  20. } catch (IllegalAccessException e) {
  21. e.printStackTrace();
  22. }
  23. return map;
  24. }
  25. /**
  26. * 将Map转换为实体类
  27. *
  28. * @param map Map对象
  29. * @param clazz 实体类的Class对象
  30. * @return 实体类对象
  31. */
  32. public static <T> T mapToEntity(Map<String, Object> map, Class<T> clazz) {
  33. T obj = null;
  34. try {
  35. obj = clazz.newInstance();
  36. Field[] fields = clazz.getDeclaredFields();
  37. for (Field field : fields) {
  38. field.setAccessible(true);
  39. field.set(obj, map.get(field.getName()));
  40. }
  41. } catch (InstantiationException | IllegalAccessException e) {
  42. e.printStackTrace();
  43. }
  44. return obj;
  45. }
  46. }

使用示例:

  1. // 将实体类转换为Map
  2. User user = new User("张三", 20);
  3. Map<String, Object> map = EntityMapUtils.entityToMap(user);
  4. // 将Map转换为实体类
  5. User user = EntityMapUtils.mapToEntity(map, User.

发表评论

表情:
评论列表 (有 0 条评论,98人围观)

还没有评论,来说两句吧...

相关阅读