比如我有一個列表:java是否有一個Util,它從包含每個char值的列表中創建一個分隔字符串?
new LinkedList<String>{{
add("a");
add("b");
add("c");
}}
是否有輪流到上述這個字符串一個實用程序:
~a~,~b~,~c~
我想創建一個逗號分隔的列表,但與周圍的價值觀另一個我選擇的角色。我可以創建一個字符串附加在列表中的for語句,但是如果已經有一個util,我想避免這種情況。
比如我有一個列表:java是否有一個Util,它從包含每個char值的列表中創建一個分隔字符串?
new LinkedList<String>{{
add("a");
add("b");
add("c");
}}
是否有輪流到上述這個字符串一個實用程序:
~a~,~b~,~c~
我想創建一個逗號分隔的列表,但與周圍的價值觀另一個我選擇的角色。我可以創建一個字符串附加在列表中的for語句,但是如果已經有一個util,我想避免這種情況。
使用java-8,您可以使用Collectors.joining
。
String output = list.stream().collect(Collectors.joining("~,~", "~", "~"));
它在後臺使用了一個StringJoiner
,這個新類已經被引入。
否則,在java之前的版本8,如果你不想要第三方庫,帶有for循環的StringBuilder
將會成功。
仍然不知道爲什麼會這麼做,但無論如何有效的答案 – jbutler483
哇這是天才。哈哈 – user1099123
我將列表轉換爲數組,然後使用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。
希望下來投票的人會給OP提供一個理由爲什麼 – Ascalonian