是否删除StringBuilder的最后一个字符?

当您必须循环一个集合,并用分隔符分隔每个数据的字符串时,最后总是会有一个额外的分隔符,例如

(字符串serverId:serverId){
sb.append(serverId);
某人加上(“,”);
}

给出如下内容:serverId\u 1、serverId\u 2、serverId\u 3、

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

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

字符串前缀=&quot&“;;
for(字符串serverId:serverId){
某人附加(前缀);
前缀=“,”;;
sb.append(serverId);
}

或者,使用Joiner来自番石榴

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

发表评论