|
|
@@ -0,0 +1,106 @@
|
|
|
+package com.jpsoft.employment.modules.common.utils;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+public class MapUtils {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 为空串的value设置为null
|
|
|
+ * @param args
|
|
|
+ */
|
|
|
+ public static void blankValToNull(Map<String,Object> args){
|
|
|
+ for(String key : args.keySet()){
|
|
|
+ if(args.get(key) instanceof String && StringUtils.isEmpty((String)args.get(key))){
|
|
|
+ args.put(key,null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 为空串的value设置为null,指定的keys有效
|
|
|
+ * @param args
|
|
|
+ */
|
|
|
+ public static void blankValToNull(Map<String,Object> args,String... keys){
|
|
|
+ for(String key : keys){
|
|
|
+ if(args.get(key) instanceof String && StringUtils.isEmpty((String)args.get(key))){
|
|
|
+ args.put(key,null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 字符串时间value转换为Date对象值,指定的keys有效
|
|
|
+ * @param args
|
|
|
+ * @param fields
|
|
|
+ */
|
|
|
+ /*public static void strValToDate(Map<String,Object> args,String... keys){
|
|
|
+ for(String key : keys){
|
|
|
+ if(StringUtils.isNotEmpty((String)args.get(key))){
|
|
|
+ args.put(key,DateUtil.parse((String)args.get(key)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 提取部分键值对作为新的Map返回,原Map去掉被提取的键值对
|
|
|
+ * @param <V>
|
|
|
+ * @param srcMap
|
|
|
+ * @param keys
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static <V> Map<String,V> trackMap(Map<String,V> srcMap,String... keys){
|
|
|
+ Map<String,V> rtnMap=new HashMap<String,V>(keys.length);
|
|
|
+ for(String key : keys){
|
|
|
+ rtnMap.put(key, srcMap.get(key));
|
|
|
+ }
|
|
|
+ for(String key : keys){
|
|
|
+ srcMap.remove(key);
|
|
|
+ }
|
|
|
+ return rtnMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 提取部分键值对作为新的Map返回
|
|
|
+ * @param <V>
|
|
|
+ * @param srcMap
|
|
|
+ * @param keys
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static <V> Map<String,V> clone(Map<String,V> srcMap,String... keys){
|
|
|
+ Map<String,V> rtnMap=new HashMap<String,V>(keys.length);
|
|
|
+ for(String key : keys){
|
|
|
+ rtnMap.put(key, srcMap.get(key));
|
|
|
+ }
|
|
|
+ return rtnMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Map<String,Object> builder(String... keyVal){
|
|
|
+ if(keyVal==null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Map<String,Object> rtnMap=new HashMap<String,Object>();
|
|
|
+ for(int i=0,len=keyVal.length;i<len;i++){
|
|
|
+ rtnMap.put(keyVal[i], (i+1)<len?keyVal[i+1]:null);
|
|
|
+ i+=1;
|
|
|
+ }
|
|
|
+ return rtnMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Map<String,Object> builder(Object... keyVal){
|
|
|
+ if(keyVal==null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Map<String,Object> rtnMap=new HashMap<String,Object>();
|
|
|
+ for(int i=0,len=keyVal.length;i<len;i++){
|
|
|
+ rtnMap.put(keyVal[i].toString(), (i+1)<len?keyVal[i+1]:null);
|
|
|
+ i+=1;
|
|
|
+ }
|
|
|
+ return rtnMap;
|
|
|
+ }
|
|
|
+}
|