ソースを参照

feat(utils): 添加对象与 Map互转工具方法

- 新增 copy 方法将对象列表转换为 Map 列表
- 新增 copy 方法将单个对象转换为 Map
- 使用 Hutool 工具库的 BeanUtil 进行对象到 Map 的转换
-增加了对空值的检查,提高代码健壮性
hechunping 1 ヶ月 前
コミット
b05770f9c0

+ 35 - 0
src/main/java/com/xynet/marketing/utils/collections/map/JHashMap.java

@@ -1,5 +1,8 @@
 package com.xynet.marketing.utils.collections.map;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.xynet.marketing.utils.Emptys;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
@@ -114,4 +117,36 @@ public class JHashMap<K, V> extends HashMap<K, V> implements JMap<K, V>, Seriali
         V v = this.get(key);
         return v == null ? null : v;
     }
+
+    /**
+     * 将对象List转为MapList
+     * @param list
+     * @return
+     * @param <T>
+     */
+    public static <T> List<Map<String, Object>> copy(List<T> list) {
+        if(Emptys.check(list)){
+            List<Map<String, Object>> result = new ArrayList<>(list.size());
+            list.forEach(item -> {
+                Map<String, Object> stringObjectMap = BeanUtil.beanToMap(item);
+                result.add(new JHashMap<>(stringObjectMap));
+            });
+            return result;
+        }
+        return new ArrayList<>();
+    }
+
+    /**
+     * 将对象转为Map
+     * @param obj
+     * @return
+     * @param <T>
+     */
+    public static <T> Map<String, Object> copy(T obj) {
+        if(Emptys.check(obj)){
+            List<Map<String, Object>> copy = copy(Arrays.asList(obj));
+            return copy.get(0);
+        }
+        return null;
+    }
 }