Java 中将 list 转换为逗号分隔字符串的最佳方法

我有 Set<String> result & 想转换成逗号分隔的字符串。我的方法将如下所示,但寻找其他意见以及。

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;
367436 次浏览

从 Java 8开始:

String.join(",", slist);

来自 Apache Commons 库:

import org.apache.commons.lang3.StringUtils

用途:

StringUtils.join(slist, ',');

另一个类似的问答 给你

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

您可以首先计算字符串的总长度,然后将其传递给 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