Obtenez simplement la position de la dernière occurrence de caractère.
for(String serverId : serverIds) {
sb.append(serverId);
sb.append(",");
}
sb.deleteCharAt(sb.lastIndexOf(","));
Depuis lastIndexOf
effectuera une recherche inversée, et vous savez qu'il trouvera au premier essai, les performances ne seront pas un problème ici.
ÉDITER
Puisque je continue de me lever sur ma réponse (merci les gens 😊), cela vaut la peine de le noter:
Sur Java 8 , il serait juste plus lisible et explicite d'utiliser StringJoiner . Il a une méthode pour un simple séparateur et une surcharge pour le préfixe et le suffixe.
Exemples tirés d'ici: exemple
Exemple utilisant un simple séparateur:
StringJoiner mystring = new StringJoiner("-");
// Joining multiple strings by using add() method
mystring.add("Logan");
mystring.add("Magneto");
mystring.add("Rogue");
mystring.add("Storm");
System.out.println(mystring);
Production:
Logan-Magneto-Rogue-Storm
Exemple avec suffixe et préfixe:
StringJoiner mystring = new StringJoiner(",", "(", ")");
// Joining multiple strings by using add() method
mystring.add("Negan");
mystring.add("Rick");
mystring.add("Maggie");
mystring.add("Daryl");
System.out.println(mystring);
Production
(Negan, Rick, Maggie, Daryl)