浏览代码

添加 keep(String...)

James 5 年之前
父节点
当前提交
e386115a36
共有 1 个文件被更改,包括 18 次插入0 次删除
  1. 18 0
      src/main/java/com/jfinal/kit/Okv.java

+ 18 - 0
src/main/java/com/jfinal/kit/Okv.java

@@ -152,6 +152,24 @@ public class Okv extends LinkedHashMap {
 	public boolean equals(Object okv) {
 		return okv instanceof Okv && super.equals(okv);
 	}
+	
+	public Okv keep(String... keys) {
+		if (keys != null && keys.length > 0) {
+			Okv newOkv = Okv.create();
+			for (String k : keys) {
+				if (containsKey(k)) {	// 避免将并不存在的变量存为 null
+					newOkv.put(k, get(k));
+				}
+			}
+			
+			clear();
+			putAll(newOkv);
+		} else {
+			clear();
+		}
+		
+		return this;
+	}
 }