一尘不染

删除StringBuilder的最后一个字符?

java

当您必须遍历一个集合并用分隔符分隔每个数据的字符串时,总是总是在末尾有一个额外的分隔符,例如

for (String serverId : serverIds) {
  sb.append(serverId);
   sb.append(",");
}

给出类似以下内容: serverId_1,serverId_2,serverId_3,

我想删除StringBuilder中的最后一个字符(不进行转换,因为在此循环之后我仍然需要它)。


阅读 437

收藏
2020-09-08

共1个答案

一尘不染

其他人指出了该deleteCharAt方法,但这是另一种替代方法:

String prefix = "";
for (String serverId : serverIds) {
  sb.append(prefix);
  prefix = ",";
  sb.append(serverId);
}

或者,使用Guava中Joiner类:)

从Java
8开始,它StringJoiner是标准JRE的一部分。

2020-09-08