Map 集合 和 String 字符串相互转换工具类

 1 package com.skynet.rimp.common.utils.util;
 2 
 3 import java.util.Arrays;
 4 import java.util.HashMap;
 5 import java.util.Map;
 6 import java.util.Set;
 7 
 8 /**
 9  *
10  * map集合和String相互转换
11  */
12 public class MapStringUtil {
13 
14     /**
15      * map转换为string
16      * @param map
17      * @return
18      */
19     public  String getMapToString(Map<String,Object> map){
20         Set<String> keySet = map.keySet();
21         //将set集合转换为数组
22         String[] keyArray = keySet.toArray(new String[keySet.size()]);
23         //给数组排序(升序)
24         Arrays.sort(keyArray);
25         //因为String拼接效率会很低的,所以转用StringBuilder
26         StringBuilder sb = new StringBuilder();
27         for (int i = 0; i < keyArray.length; i++) {
28             // 参数值为空,则不参与签名 这个方法trim()是去空格
29             if ((String.valueOf(map.get(keyArray[i]))).trim().length() > 0) {
30                 sb.append(keyArray[i]).append(":").append(String.valueOf(map.get(keyArray[i])).trim());
31             }
32             if(i != keyArray.length-1){
33                 sb.append(",");
34             }
35         }
36         return sb.toString();
37     }
38 
39 
40     /**
41      * string转为map
42      * @param str
43      * @return
44      */
45     public  Map<String,Object> getStringToMap(String str) {
46         //根据逗号截取字符串数组
47         String[] str1 = str.split(",");
48         //创建Map对象
49         Map<String, Object> map = new HashMap<>();
50         //循环加入map集合
51         for (int i = 0; i < str1.length; i++) {
52             //根据":"截取字符串数组
53             String[] str2 = str1[i].split(":");
54             //str2[0]为KEY,str2[1]为值
55             map.put(str2[0], str2[1]);
56         }
57         return map;
58     }
59 
60 }

可用于map集合与String 字符串相互转换   制作成工具类

posted @ 2019-11-29 16:36  _情书  阅读(7718)  评论(0编辑  收藏  举报