En el lenguaje Java(al igual que en C) no existe un tipo de datos primitivo para representar cadenas de caracteres.
Las cadenas se representan como objetos de la clase String.
Ahora bien, la clase String tiene tanta funcionalidad y tantos privilegios que se le puede tratar como si fuese un tipo de dato primitivo.
Informalmente diremos que “un objeto es una variable cuyo tipo de datos es una clase”. Así, para un String esto seria:
String s = “hola mundo !!.”;
s resulta ser un objeto (una variable) cuyo tipo de datos es String. Es decir:
Un objeto de la clase String o una instancia de esta clase.
Los objetos son en realidad referencias(punteros) que indican la dirección física de memoria en donde reside la información que contienen. Por este motivo no podemos utilizar el operador de comparación == (igual igual) para comparar objetos, lo que estamos comparando realmente son direcciones de memoria, no contenidos.
Como las cadenas son objetos, comparar cadenas con este operador de comparación es un error.
No hay comentarios:
Publicar un comentario