2. En java las cadenas son objetos. Algunas de las formas en que se pueden crear objetos de tipo String son:
String obj = new String();
String obj2 = new String("Objeto String");
String name = "Miguel Angel";
Los objetos de tipo String en Java son inmutables, es decir una vez asignado un valor este no se puede modificar.
Cada vez que se hace una nueva asignación a una variable de tipo String se crea un objeto nuevo, es decir la variable apunta a una nueva referencia en memoria.
String
www.mentoringit.com.mx
3. ¿Cuantos objetos se crean en el siguiente código y que se imprime en la consola?
String s1 = "spring ";
String s2 = s1 + "summer ";
s1.concat("fall ");
s2.concat(s1);
s1 += "winter ";
System.out.println(s1 + " " + s2);
Se crean 8 objetos y la salida a consola es:
"spring winter spring summer"
Una cadena es un objeto, una concatenación de cadenas genera otro objeto.
String Inmutable (no son modificables)
www.mentoringit.com.mx
4. Se recomienda el uso de estas clases cuando se requiere hacer bastantes modificaciones a una cadena, recordemos que las modificaciones a variables de tipo String generan objetos en memoria.
Estas clases se utilizan comúnmente en la lectura de archivos.
StringBuilder fue agregada en la versión 1.5 de Java y esta a diferencia de StringBuffer no es thread safe, es decir sus métodos no son sincronizados.
StringBuffer y StringBuilder no crean objetos nuevos al realizar modificaciones sobre las cadenas de caracteres que contienen.
StringBuilder no es thread safe StringBuffer si es thread safe.
StringBuilder es mas rápida que StringBuffer en sus operaciones.
StringBuffer y StringBuilder
www.mentoringit.com.mx
5. StringBuffer no crea objetos nuevos, solo modifica el objeto actual.
StringBuffer sb = new StringBuffer("abc");
sb.append("def");
System.out.println( sb ); // la salida es: "abcdef"
Otro método muy utilizado de StringBuffer es insert
StringBuffer sl = new StringBuffer("doing");
sl.insert(2,'X');
System.out.println(sl); // la salida es: doXing
Ejemplos de StringBuffer
www.mentoringit.com.mx
6. Fin.
Síguenos en Facebook y en Twitter.
https://www.facebook.com/mentoringit
https://twitter.com/MentoringitMX