删除StringBuilder的最后一个字符?

问题:

当你必须循环遍历一个集合并且用一个分隔符分隔的每个数据的字符串时,你总是得到最后一个额外的分隔符,例如

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);
}

或者,使用GuavaJoiner类:)
从Java 8开始,StringJoiner是标准JRE的一部分。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Remove last character of a StringBuilder?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 64 = 70