Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.


"Me gustaría contarles un poco sobre la comparación de variables en Java " .

"Ya conoce los operadores de comparación más simples: menor que (<) y mayor que (>)".

"Sí."

"También hay operadores como igual a (==) y no igual a (!=). Así como, menor o igual a (<=) y mayor o igual a (>=)."

"Ahora esto se está poniendo interesante".

"¡Tenga en cuenta que no hay operadores =< o => en Java!"

" El signo = se usa para operaciones de asignación. Es por eso que se usan dos signos iguales (==) para probar la igualdad. Para verificar que las variables no son iguales , use el operador != ".

"Veo."

"Al comparar dos variables en Java usando el operador ==, estamos comparando el contenido de las variables".

"Así, para las variables primitivas , se comparan sus valores ".

"Para las variables de referencia , las referencias se comparan . Supongamos que tenemos objetos idénticos pero distintos. Debido a que las referencias a ellos son diferentes , una comparación mostrará que no son iguales, es decir, el resultado de la comparación será falso . Una comparación de referencias será verdadera sólo si ambas referencias apuntan al mismo objeto " .

"Para comparar los contenidos internos de los objetos, usamos el método especial de igualdad . El compilador agrega este método (y todos los métodos de la clase Object) a su clase, incluso si no los declara. Permítame mostrarle algunos ejemplos: "

Código Explicación
1
int a = 5;
int b = 5;
System.out.println(a == b);
Compara tipos primitivos .
verdadero se mostrará en la pantalla.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Comparar referencias .
verdadero se mostrará en la pantalla.
Ambas variables almacenan referencias al mismo objeto .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Comparar referencias .
verdadero se mostrará en la pantalla.
Ambas variables almacenan referencias al mismo objeto .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Comparar referencias .
falso se mostrará en la pantalla.
Las dos variables hacen referencia a objetos Cat idénticos, pero no al mismo.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Comparar referencias .
falso se mostrará en la pantalla.
Las dos variables hacen referencia a objetos String idénticos, pero no al mismo.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Comparar objetos .
verdadero se mostrará en la pantalla.
Las dos variables hacen referencia a objetos Cat idénticos.

"¡Oh, casi lo olvido! Aquí hay algunos ejercicios para ti:"