La clase StringBuffer
Es similar a la clase String y se usa para denotar a un literal String. Sin embargo, StringBuffer es mutable, a diferencia de String. Esto significa que los valores almacenados por objetos de esta clase pueden ser cambiados. StringBuffer juega un rol importante en la concatenación de cadenas de caracteres.
Se utiliza el método append() sobre los objetos creados, esto es una alternativa mejor que usar el operador + sobre objetos String.
Los objetos StringBuffer se pueden utilizar en aplicaciones multihilos, ya que los métodos que operan en estos objetos pueden ser sincronizados para evitar la ocurrencia del interbloqueo.
La clase StringBuilder
Esta clase se añadió en java 5, tiene exactamente la misma api de StringBuffer, excepto que StringBuilder en hilos no es seguro, en otras palabras su método no está sincronizado. Es recomendado que Ud. use StringBuilder en vez de StringBuffer esto debido a que StringBuilder se ejecuta más rápido.
StringBuilder fue diseñada para ser utilizada por un solo hilo, las operaciones principales en StringBuilder son los métodos append e insert, cuando son sobrecargados para aceptar datos de cualquier tipo. Cada uno convierte con eficacia un dato dado a un String y añade o inserta los caracteres de ese String al String en construcción. El método append agrega siempre estos caracteres al final de la secuencia de caracteres en construcción.
Ahora veamos algunos ejemplos de StringBuilder y StringBuffer
NOTA: las instancias StringBuilder no son seguras para el uso de múltiples hilos. Si se necesita o requiere la sincronización entonces se recomienda utilizar StringBuffer.
Próximo post estaremos viendo manejo de archivos en Java...