常用字符串與集合類轉換的工具類


在項目中,我們經常需要把接收到的字符串轉換成對應的集合類保存,或者把集合類轉換成字符串以方便傳輸,這個工具類中封裝了幾個常用的方法,對於這種轉換需求十分方便。

 1 import java.util.Arrays;
 2 import java.util.Collection;
 3 import java.util.HashMap;
 4 import java.util.HashSet;
 5 import java.util.Map;
 6 import java.util.Properties;
 7 import java.util.Set;
 8 import java.util.TreeSet;
 9 
10 public class MyStringUtils {
11 
12     /**
13      * 將字符串轉換成set集合類
14      * 分隔符是任意空白字符
15      */
16     public static Set<String> parseParameterList(String values) {
17         Set<String> result = new TreeSet<String>();
18         if (values != null && values.trim().length() > 0) {
19             // the spec says the scope is separated by spaces
20             String[] tokens = values.split("[\\s+]");//匹配任意空白字符
21             result.addAll(Arrays.asList(tokens));
22         }
23         return result;
24     }
25 
26     /**
27      * 把集合轉化成指定形式的字符串
28      */
29     public static String formatParameterList(Collection<String> value) {
30         return value == null ? null : StringUtils.collectionToDelimitedString(value, ",");//指定分隔符
31     }
32 
33     /**
34      * 從query的字符串中抽取需要的鍵值對存入map中
35      * query的形式name=god&password=111&method=up
36      */
37     public static Map<String, String> extractMap(String query) {
38         Map<String, String> map = new HashMap<String, String>();
39         Properties properties = StringUtils.splitArrayElementsIntoProperties(
40                 StringUtils.delimitedListToStringArray(query, "&"), "=");
41         if (properties != null) {
42             for (Object key : properties.keySet()) {
43                 map.put(key.toString(), properties.get(key).toString());
44             }
45         }
46         return map;
47     }
48 
49     /**
50      * 比較兩個集合是否相等
51      */
52     public static boolean containsAll(Set<String> target, Set<String> members) {
53         target = new HashSet<String>(target);
54         target.retainAll(members);//取兩個集合的交集
55         return target.size() == members.size();
56     }
57 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM