23-enero-2013
admin

String vs StringBuffer vs StringBuilder

En Java tenemos distintas formas para realizar la concatenación de las cadenas de texto (tipo String). Las tres formas más habituales son: el uso del operador de suma, usaar StringBuffer y usar StringBuilder.

El operador suma está sobrecargado en la clase String, y es la forma más básica de concatenar dos cadenas de caracteres. Al concatener dos String con el operador suma, se crea un nuevo String resultante, con lo que constantemente estamos creando objetos nuevos. Lo cuál hace que no se la mejor opción.

String var1 = "Hola, ";
String var2 = "mundo";
String holamundo = var1 + var2;

La clase StringBuffer es una secuencia de caracteres mutable; es decir, es una clase que nos permite concatenar String de una manera simple y muy eficiente.
Los métodos de StringBuffer son sincronizados, por lo cual la podemos usar de manera segura en un ambiente de multihilos.

StringBuffer buffer = new StringBuffer();
buffer.append("Hola, ");
buffer.append("mundo");
String holamundo = buffer.toString();

La clase StringBuilder es una clase que aparece con el JDK 5, y es la clase recomendada para la concatenación de String en la mayoría de los casos. Su uso es idéntico al StringBuffer (tienen el mismo API). Los métodos de StringBuilder no son sincronizados, por lo que tiene mejor rendimiento que StringBuffer cuando solo hay un único hilo.

StringBuilder builder = new StringBuilder();
builder.append("Hola, ");
builder.append("mundo");
String holamundo = builder.toString();

Fuente

Dejar un comentario

Categorias

Linkedin