Просто получите позицию последнего вхождения символа.
for(String serverId : serverIds) {
sb.append(serverId);
sb.append(",");
}
sb.deleteCharAt(sb.lastIndexOf(","));
Поскольку lastIndexOf
выполнит обратный поиск, и вы знаете, что он найдет с первой попытки, производительность не будетвопрос здесь.
РЕДАКТИРОВАТЬ
Поскольку я продолжаю поднимать свой ответ (спасибо, ребята ?), стоит учитывать следующее:
Вкл. 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);
Выход
(Неган, Рик, Мэгги,Дэрил)