1. 程式人生 > >如何相互轉換逗號分隔的字串和List

如何相互轉換逗號分隔的字串和List

將逗號分隔的字串轉換為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更靈活,適用面更廣。