El compilador lo usará automáticamente para cualquier concatenación de cadenas con "+".
Por lo general, lo usaría explícitamente si quisiera concatenar en un bucle. Por ejemplo:
StringBuilder builder = new StringBuilder();
for (String name : names)
{
builder.append(name);
builder.append(", ");
}
if (builder.length() > 0)
{
builder.setLength(builder.length() - 2);
}
System.out.println("Names: " + builder);
Otra situación sería donde quería construir una cadena a través de múltiples métodos, o posiblemente conditionalise algunas partes del edificio. Básicamente, si no está compilando la cadena en una sola instrucción (donde el compilador puede ayudarlo), al menos debería considerar usar StringBuilder
.
posible duplicado de [¿Qué sucede cuando Java Compiler ve muchas concatenaciones de cadenas en una línea?] (Http://stackoverflow.com/questions/1296571/what-happens-when-java-compiler-sees-many-string- concatenations-in-one-line) –
Nota: una situación en la que no usará un StringBuilder es cuando la cadena se puede concatenar en el momento de la compilación. En cuyo caso, solo produce una cadena en solitario (sin StringBuilder) –
BTW: si alguna vez necesita utilizar StringBuffer para seguridad de subprocesos, tiene un problema de diseño en mi humilde opinión. : P –