martes, 21 de mayo de 2013

Java buenas prácticas concatenación de Strings



Se ha demostrado a lo largo de la vida de Java, que el operador +, para la concatenación de objetos String, es ineficiente, ya que al utilizarse sobre variables, el compilador genera nuevas instancias (reserva memoria para ello) del objeto, para realizar la concatenación.

Por eso es aconsejable evitar la concatenación de objetos String mediante el operador +.
Por lo que es una mala práctica hacer lo siguiente: String s = s1 + s2 + “texto” + s3

Aunque no tiene efecto al hacer lo siguiente: String s = “Esto” + “es” + “una prueba”, ya que en este caso como las String a usar son constantes, no se realiza la reserva de la memoria, sino que el compilador lo agrupa todo en una única String.



Para realizar la concatenación citada en el primer caso, se deberá hacer lo siguiente:

StringBuffer strbuf = new StringBuffer();
strbuf.append(s1);
strbuf.append(s2);
String s = strbuf.toString();

 

No hay comentarios:

Publicar un comentario