From 7a160bc8ba8e4eea9be2695b16e688b438cc01fe Mon Sep 17 00:00:00 2001 From: smallchill Date: Mon, 24 Feb 2025 17:45:16 +0800 Subject: [PATCH] =?UTF-8?q?:tada:=20=E5=A2=9E=E5=BC=BAkv=E7=9A=84=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springblade/core/tool/support/Kv.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/blade-core-tool/src/main/java/org/springblade/core/tool/support/Kv.java b/blade-core-tool/src/main/java/org/springblade/core/tool/support/Kv.java index 204d180..7c499dc 100644 --- a/blade-core-tool/src/main/java/org/springblade/core/tool/support/Kv.java +++ b/blade-core-tool/src/main/java/org/springblade/core/tool/support/Kv.java @@ -22,6 +22,7 @@ import java.sql.Time; import java.sql.Timestamp; import java.util.Date; import java.util.HashMap; +import java.util.Map; /** * 链式map @@ -52,6 +53,51 @@ public class Kv extends LinkedCaseInsensitiveMap { return new Kv(); } + + /** + * 创建Kv + * + * @param value 初始化数据 + * @return Kv + */ + public static Kv create(Kv value) { + Kv kv = new Kv(); + kv.putAll(value); + return kv; + } + + /** + * 从Map创建Kv + * + * @param map 初始化数据 + * @return Kv + */ + public static Kv create(Map map) { + Kv kv = new Kv(); + if (map != null) { + map.forEach((key, value) -> kv.set(String.valueOf(key), value)); + } + return kv; + } + + /** + * 从对象创建Kv + * + * @param value 源对象 + * @return Kv + */ + public static Kv create(Object value) { + Kv kv = new Kv(); + if (value != null) { + if (value instanceof Map) { + return create((Map) value); + } else { + kv.set("object", value); + } + } + return kv; + } + public static HashMap newMap() { return new HashMap<>(16); }