Inmutabilidad de Cadenas en Java
Desliza para mostrar el menú
Ya sabes que los Strings almacenan texto como nombres de clientes, nombres de productos y mensajes. Pero algo que hace especiales a los Strings en Java es que son inmutables.
La inmutabilidad significa que una vez que se crea un objeto String, su contenido no puede ser modificado. Cualquier operación que parece modificar una cadena en realidad crea un nuevo objeto String internamente.
Ejemplo
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int stock = 20; String drink = "Espresso"; stock = 15; drink = "Cappuccino"; System.out.println(stock); // 15 System.out.println(drink); // Cappuccino } }
Aunque ambas variables fueron reasignadas, internamente se comportan de manera diferente. Con int, la variable almacena directamente el valor: reasignar simplemente lo reemplaza. Pero String es un tipo de referencia, lo que significa que la variable almacena una dirección que apunta a un objeto String en la memoria. Cuando se asigna drink = "Cappuccino", Java no modifica "Espresso"; en su lugar, crea un nuevo objeto String y hace que drink apunte a él. El objeto original "Espresso" permanece sin cambios.
Cómo funciona paso a paso
String drink = "Espresso";
Java crea un objeto String "Espresso" y drink apunta a él.
drink = "Cappuccino";
Java crea un nuevo objeto String "Cappuccino", y ahora drink apunta al nuevo. "Espresso" no se modifica.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla