在java中最好的方法将列表转换为逗号分隔的string

我有Set<String> result ,并希望将其转换为逗号分隔的string。 我的方法如下所示,但也寻找其他意见。

 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; 

从Apache Commons库:

 import org.apache.commons.lang3.StringUtils 

使用:

 StringUtils.join(slist, ','); 

另一个类似的问题和答案

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

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