如何相互轉換逗號分隔的字串和List
阿新 • • 發佈:2019-01-05
將逗號分隔的字串轉換為List
方法 1: 利用JDK的Arrays類
String str = "a,b,c";
List<String> result = Arrays.asList(str.split(","));
方法 2: 利用Guava的Splitter
String str = "a, b, c";
List<String> result = Splitter.on(",").trimResults().splitToList(str);
方法 3: 利用Apache Commons的StringUtils (只是用了split)
String str = "a,b,c";
List<String> result = Arrays.asList(StringUtils.split(str,","));
方法 4: 利用Spring Framework的StringUtils
String str = "a,b,c";
List<String> str = Arrays.asList(StringUtils.commaDelimitedListToStringArray(str));
將List轉換為逗號分隔符
方法 1: 不用工具類
public String listToString(List list , char separator) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if (i == list.size() - 1) {
sb.append(list.get(i));
} else {
sb.append(list.get(i));
sb.append(separator);
}
}
return sb.toString();
}
public String listToString(List list, char separator) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i)).append(separator);
}
return sb.toString().substring(0,sb.toString().length()-1);
}
方法 2: 利用Guava的Joiner
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String str = Joiner.on(",").join(list);
方法 3: 利用Apache Commons的StringUtils
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String str = StringUtils.join(list.toArray(), ",");
方法 4:利用Spring Framework的StringUtils
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String str = StringUtils.collectionToDelimitedString(list, ",");
比較下來,我的觀點就是Guava庫和StringUtils更靈活,適用面更廣。