2014-12-18 28 views
0

比如我有一個列表:java是否有一個Util,它從包含每個char值的列表中創建一個分隔字符串?

new LinkedList<String>{{ 
    add("a"); 
    add("b"); 
    add("c"); 
}} 

是否有輪流到上述這個字符串一個實用程序:

~a~,~b~,~c~ 

我想創建一個逗號分隔的列表,但與周圍的價值觀另一個我選擇的角色。我可以創建一個字符串附加在列表中的for語句,但是如果已經有一個util,我想避免這種情況。

+2

希望下來投票的人會給OP提供一個理由爲什麼 – Ascalonian

回答

3

使用,您可以使用Collectors.joining

String output = list.stream().collect(Collectors.joining("~,~", "~", "~")); 

它在後臺使用了一個StringJoiner,這個新類已經被引入。

否則,在java之前的版本8,如果你不想要第三方庫,帶有for循環的StringBuilder將會成功。

+0

仍然不知道爲什麼會這麼做,但無論如何有效的答案 – jbutler483

+0

哇這是天才。哈哈 – user1099123

0

我將列表轉換爲數組,然後使用StringUtils.join()方法:

List<String> items = new LinkedList<String>(); 
items.add("a"); 
items.add("b"); 
items.add("c"); 

String[] arr = items.toArray(new String[items.size()]); 
String delimited = "~" + StringUtils.join(arr, "~,~") + "~"; 

你需要在第一和最後一個「〜」單獨添加,如圖所示最後一行。

如果您尚未升級,此方法不需要Java 8。

相關問題