Java 对象和map相互转换

public static Object map2Object(Map<String, Object> map, Class<?> clazz) {
         if (map == null) {
             return null;
         }
         Object obj = null;
         try {
             obj = clazz.newInstance();

             Field[] fields = obj.getClass().getDeclaredFields();
             for (Field field : fields) {
                 int mod = field.getModifiers();
                 if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
                     continue;
                 }
                 field.setAccessible(true);
                 field.set(obj, map.get(field.getName()));
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
         return obj;
     }

  public static Map<String, Object> object2Map(Object obj) {
         Map<String, Object> map = new HashMap<>();
         if (obj == null) {
             return map;
         }
         Class clazz = obj.getClass();
         Field[] fields = clazz.getDeclaredFields();
         try {
             for (Field field : fields) {
                 field.setAccessible(true);
                 map.put(field.getName(), field.get(obj));
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
         return map;
     }

posted @ 2018-06-12 16:29  王胖子2018  阅读(262)  评论(0编辑  收藏  举报