Java String Behavior Guía Rápida
En Java la comparación con == comprueba si dos variables apuntan al mismo objeto en memoria, no si su contenido textual es igual. Para comparar el contenido textual debe usarse el método equals.
Ejemplo 1: Si se usan literales String como String a1 = Hello y String a2 = Hello entonces a1 == a2 devuelve true porque ambos apuntan al mismo objeto en el pool de strings.
Ejemplo 2: Si se crean objetos con new String como String b1 = new String con contenido Hello y String b2 = new String con contenido Hello entonces b1 == b2 devuelve false porque cada new crea un objeto distinto en el heap, aunque el texto sea igual.
Ejemplo 3: Si se hace String c1 = Hi seguido de c1 = c1 + There y luego String c2 = HiThere la comparación c1 == c2 devuelve false porque la concatenación en tiempo de ejecución crea un nuevo objeto en el heap distinto del literal pooled HiThere.
Uso de intern: Al ejecutar c3 = c1.intern() se obtiene la referencia al string almacenado en el pool, por lo que c3 == c2 puede devolver true cuando c2 es el literal pooled. intern retorna la versión pooled del string.
Regla práctica: usar equals para comparar contenido textual y usar == solo para comprobar identidad de referencia entre objetos.
Nota técnica: concatenaciones que se resuelven en tiempo de compilación pueden ser internadas automáticamente, mientras que operaciones en tiempo de ejecución generan nuevas instancias en el heap.
Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial y ciberseguridad. Ofrecemos software a medida, aplicaciones a medida y servicios cloud aws y azure. Nuestros servicios incluyen soluciones de servicios inteligencia de negocio, ia para empresas, agentes IA y dashboards con power bi para análisis avanzado.
Servicios destacados: desarrollo de software a medida, aplicaciones a medida, soluciones de inteligencia artificial, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi para visualización y toma de decisiones.
Contacta con Q2BSTUDIO para proyectos de software a medida, integración de inteligencia artificial y estrategias de ciberseguridad que impulsen la transformación digital de tu empresa.