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 字符串相互转换 制作成工具类