Inmutabilidad
Definición
Sección titulada «Definición»La inmutabilidad es una propiedad de algunos tipos de datos. Un tipo es inmutable cuando, una vez creado su valor, ese valor no cambia. Si se aplica una operación que parece modificarlo, el resultado es un nuevo valor y el original se mantiene igual.
Esto no depende de que el tipo sea de referencia: existen tipos de referencia mutables e inmutables.
Inmutabilidad en String
Sección titulada «Inmutabilidad en String»String es un tipo de referencia inmutable. Esto significa que el texto almacenado en un String no se altera. En cambio, cualquier operación que transforme el texto entrega un nuevo String con el resultado.
Por esta razón, para conservar un cambio se debe asignar el resultado a una variable (ya sea una nueva o la misma).
Ejemplos de operaciones que retornan un nuevo String
Sección titulada «Ejemplos de operaciones que retornan un nuevo String»En los siguientes ejemplos, el String original se mantiene igual y el resultado aparece en una nueva variable.
toUpperCase()
Sección titulada «toUpperCase()»String texto = "Hola";String mayus = texto.toUpperCase();
System.out.println(texto); // HolaSystem.out.println(mayus); // HOLAreplace()
Sección titulada «replace()»String texto = "Hola Mundo";String modificado = texto.replace('o', 'O');
System.out.println(texto); // Hola MundoSystem.out.println(modificado); // HOlA MundOString texto = " Java ";String limpio = texto.trim();
System.out.println("[" + texto + "]"); // [ Java ]System.out.println("[" + limpio + "]"); // [Java]