StringBuilder append "," 基本关注

StringBuilder append "," basic concern

我有这样的代码:

projsForWhichPermCheckFailedSBuilder.append(currentProject.getDisplayString()).append(", ");

这是动态追加,上面的代码在 for 循环中...所以最后我想删除多余的“,”,我做了类似的事情:

projsForWhichPermCheckFailedString = projsForWhichPermCheckFailedSBuilder.substring(0, projsForWhichPermCheckFailedSBuilder.length()-2);

请推荐一些更好的方法!!!谢谢...

我不确定您的输入是什么样的,但为了举例说明,输入是 String 对象的集合,例如List<String> input 并给出:

final String delimiter = ",";

那么您可以使用以下方法之一...

使用 Java StringBuilder class.

StringBuilder sb = new StringBuilder();
for (String s : input)
{
    sb.append("s").append(delimiter);
}

if (sb.toString().endsWith(delimiter))
{
    sb.deleteCharAt(sb.length()-1);
}
System.out.println(sb.toString());
// Results in output: s,s,s

使用 Guava(完整示例请参阅 Strings Explained)。

List<String> input = new ArrayList<>();
input.add("1");
input.add("2");
input.add("3");

final String result = Joiner.on(delimiter).join(input);
System.out.println(result);
// Results in output: 1,2,3