【Java工具类】对象与Map相互转换工具类

我就是我 2022-11-17 05:09 307阅读 0赞
  1. import java.lang.reflect.Field;
  2. import java.lang.reflect.Modifier;
  3. import java.util.LinkedHashMap;
  4. import java.util.Map;
  5. public class ObjectUtils {
  6. /** * Object转Map * * @param obj * @return * @throws IllegalAccessException */
  7. public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
  8. Map<String, Object> map = new LinkedHashMap<String, Object>();
  9. Class<?> clazz = obj.getClass();
  10. for (Field field : clazz.getDeclaredFields()) {
  11. field.setAccessible(true);
  12. String fieldName = field.getName();
  13. Object value = field.get(obj);
  14. if (value == null) {
  15. value = "";
  16. }
  17. map.put(fieldName, value);
  18. }
  19. return map;
  20. }
  21. //
  22. /** * Map转Object * * @param map * @param beanClass * @return * @throws Exception */
  23. public static Object mapToObject(Map<Object, Object> map, Class<?> beanClass) throws Exception {
  24. if (map == null)
  25. return null;
  26. Object obj = beanClass.newInstance();
  27. Field[] fields = obj.getClass().getDeclaredFields();
  28. for (Field field : fields) {
  29. int mod = field.getModifiers();
  30. if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
  31. continue;
  32. }
  33. field.setAccessible(true);
  34. if (map.containsKey(field.getName())) {
  35. field.set(obj, map.get(field.getName()));
  36. }
  37. }
  38. return obj;
  39. }
  40. }

发表评论

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

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

相关阅读