StringBuilder の最後の文字を削除しますか? 質問する

StringBuilder の最後の文字を削除しますか? 質問する

コレクションをループして各データを区切り文字で区切った文字列を作成する場合、最後に必ず余分な区切り文字が付きます。例:

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

次のようなものが表示されます: serverId_1、serverId_2、serverId_3、

StringBuilder の最後の文字を削除したいと思います (このループの後も必要なので変換はしません)。

ベストアンサー1

他の人もこの方法を指摘していますdeleteCharAtが、別の代替アプローチがあります。

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

または、Joinerクラスからグアバ:)

Java 8では、StringJoiner標準 JRE の一部です。

おすすめ記事