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

新手上路,请多包涵

我有 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;

原文由 Mad-D 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 504
2 个回答

从 Java 8 开始:

 String.join(",", slist);

来自 Apache Commons 库:

 import org.apache.commons.lang3.StringUtils

利用:

 StringUtils.join(slist, ',');

另一个类似的问题和答案 在这里

原文由 BobTheBuilder 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

原文由 kay 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题