问题

当您必须循环遍历集合并制作由分隔符分隔的每个数据的字符串时,最终总是有一个额外的分隔符,例如

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

给出类似的东西:serverid_1,serverId_2,serverId_3,

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

  最佳答案

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

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

或者,使用 Joiner 类来自 Guava :)

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

  相同标签的其他问题

javastringbuilder