首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中将列表转换为逗号分隔字符串的最佳方法

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

Stack Overflow用户
提问于 2013-04-04 23:34:33
回答 3查看 343.1K关注 0票数 164

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

代码语言:javascript
复制
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;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-04 23:36:34

来自Apache Commons库:

代码语言:javascript
复制
import org.apache.commons.lang3.StringUtils

使用:

代码语言:javascript
复制
StringUtils.join(slist, ',');

另一个类似的问答here

票数 435
EN

Stack Overflow用户

发布于 2013-04-04 23:49:24

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

代码语言:javascript
复制
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
票数 10
EN

Stack Overflow用户

发布于 2013-04-04 23:36:43

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15815587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档