Просто отримайте позицію останнього явища символів.
for(String serverId : serverIds) {
sb.append(serverId);
sb.append(",");
}
sb.deleteCharAt(sb.lastIndexOf(","));
Оскільки lastIndexOf
буде здійснено зворотний пошук, і ви знаєте, що його знайдуть при першій спробі, продуктивність тут не буде проблемою.
EDIT
Оскільки я продовжую отримувати відповіді на свою відповідь (дякую людям 😊), варто подумати про це:
На Java 8 далі буде просто більш розбірливим і явним використовувати StringJoiner . Він має один метод для простого роздільника та перевантаження для префікса та суфікса.
Приклади, взяті звідси: приклад
Приклад за допомогою простого роздільника:
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);
Вихід:
Логан-Магнето-Шахрай-Буря
Приклад із суфіксом та префіксом:
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);
Вихідні дані
(Неган, Рік, Меггі, Даріл)