Búfer de cadena

Tiene la propiedad de ser alterable mediante inserciones al final, mientras que una cadena normalmente es fija o inmutable.

Por estas razones, Java manejaría una expresión como: así: Generalmente, un StringBuffer es más eficiente que una String para manipular cadenas.

Sin embargo, este no es necesariamente el caso, ya que el primero requerirá recrear su vector de caracteres cuando se quede sin espacio.

Para insertar o borrar caracteres en posiciones arbitrarias, hace falta mover secciones enteras de vectores.

Si solo un hilo de ejecución a la vez accede al objeto, usar un StringBuilder es más eficiente que usar un StringBuffer.