El rendimiento de cualquier aplicación es fundamental para el usuario, asi tambien para el equipo donde se ejecuta. Esto determina muchos factores como la duración de la batería en un SmartPhone, el tiempo de uso del procesador que podría hacer que una PC se freeze. Los objecto String en Java son mutuales "No cambian después de ser creados" , entonces es aconsejable que se utilicen solo para texto que no cambian con frecuencia durante la ejecución de la aplicación. Ejemplo: Almacenar el nombre del Usuario, ruta hacia un archivo, imagen, entre otros. Entonces que hacer si necesitamos manejar una aplicación que depende de cadena dinámicas. Existen clase que nos facilitan el trabajo, estas son StringBuilder y StringBuffer . Sus principales métodos son append y insert que están sobrecargados para cualquier tipo de datos. Cuando se inicializa un StringBuilder vacio su capacidad es de 16 caracteres, expande su tamaño cuando se necesita, también se puede inicializar