Simplemente obtenga la posición de la última aparición del personaje.
for(String serverId : serverIds) {
sb.append(serverId);
sb.append(",");
}
sb.deleteCharAt(sb.lastIndexOf(","));
Ya que lastIndexOf
que realizará una búsqueda inversa, y sabe que lo encontrará en el primer intento, el rendimiento no será un problema aquí.
EDITAR
Dado que sigo recibiendo mi respuesta (gracias amigos 😊), vale la pena considerar eso:
En Java 8 en adelante, sería más legible y explícito usar StringJoiner . Tiene un método para un separador simple y una sobrecarga para el prefijo y el sufijo.
Ejemplos tomados de aquí: ejemplo
Ejemplo usando un separador simple:
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);
Salida:
Logan-Magneto-Rogue-Storm
Ejemplo con sufijo y prefijo:
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);
Salida
(Negan, Rick, Maggie, Daryl)