在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 = ", "
。