可能重复:
What’s the best way to build a string of delimited items in Java?
Java: convert List<String> to a join()d string
在Java中,给定一个集合,获取迭代器并为第一个(或最后一个)元素执行单独的大小写,其余的以获取逗号分隔的字符串看起来相当枯燥,在Python中有类似str.join
的内容?
进一步澄清以避免它被重复关闭:我宁愿不使用像Apache Commons这样的外部库。
谢谢!
答案 0 :(得分:15)
没有。这是我的尝试:
/**
* Join a collection of strings and add commas as delimiters.
* @require words.size() > 0 && words != null
*/
public static String concatWithCommas(Collection<String> words) {
StringBuilder wordList = new StringBuilder();
for (String word : words) {
wordList.append(word + ",");
}
return new String(wordList.deleteCharAt(wordList.length() - 1));
}
答案 1 :(得分:8)
标准库中没有任何内容,但例如Guava有Joiner
这样做。
Joiner joiner = Joiner.on(";").skipNulls(); . . . return joiner.join("Harry", null, "Ron", "Hermione"); // returns "Harry; Ron; Hermione"
但是,您总是可以使用StringBuilder
编写自己的。
答案 2 :(得分:4)
没有。没有这样的方法。像许多其他人一样,我为字符串和集合(迭代器)数组做了我的版本的连接。
答案 3 :(得分:3)
在不编写额外的“utils”代码和不使用我发现的外部库之间的折衷解决方案是以下双线:
/* collection is an object that formats to something like "[1, 2, 3...]"
(as the case of ArrayList, Set, etc.)
That is part of the contract of the Collection interface.
*/
String res = collection.toString();
res = res.substring(1, res.length()-1);
答案 4 :(得分:0)
不在标准库中。它位于StringUtils的commons lang。