在java中将列表转换为逗号分隔字符串的最佳方法

时间:2013-04-04 15:34:33

标签: java string list collections set

我有Set<String> result&amp;想将它转换为逗号分隔的字符串。我的方法如下所示,但也在寻找其他意见。

List<String> slist = new ArrayList<String> (result);
StringBuilder rString = new StringBuilder();

Separator sep = new Separator(", ");
//String sep = ", ";
for (String each : slist) {
    rString.append(sep).append(each);
}

return rString;

3 个答案:

答案 0 :(得分:375)

来自Apache Commons库:

import org.apache.commons.lang3.StringUtils

使用:

StringUtils.join(slist, ',');

另一个类似的问题和答案here

答案 1 :(得分:9)

您可以先计算字符串的总长度,然后将其传递给StringBuilder构造函数。而且您不需要先转换Set。

Set<String> abc = new HashSet<String>();
abc.add("A");
abc.add("B");
abc.add("C");

String separator = ", ";
int total = abc.size() * separator.length();
for (String s : abc) {
    total += s.length();
}

StringBuilder sb = new StringBuilder(total);
for (String s : abc) {
    sb.append(separator).append(s);
}

String result = sb.substring(separator.length()); // remove leading separator

答案 2 :(得分:3)

您使用的Separator是一个UI组件。您最好使用简单的String sep = ", "