Compara dos enteros en Java
-
Compare dos valores enteros usando el operador
==
en Java -
Comparar dos referencias enteras usando el método
equals()
en Java -
Comparar dos enteros usando el método
equals()
en Java -
No compare dos referencias enteras usando el operador
==
en Java
Este tutorial presenta cómo comparar dos enteros en Java.
Para comparar valores enteros en Java, podemos usar el método equals()
o ==
(operador igual). Ambos se utilizan para comparar dos valores, pero el operador ==
comprueba la igualdad de referencia de dos objetos enteros, mientras que el método equal()
comprueba sólo los valores enteros (primitivos y no primitivos).
Por lo tanto, al comparar los valores enteros, depende de los desarrolladores elegir entre los métodos de comparación. Veamos algunos ejemplos.
Compare dos valores enteros usando el operador ==
en Java
En este ejemplo, tomamos dos números enteros primitivos y luego, usando el operador ==
, comparamos ambos valores. Probamos este ejemplo usando Java 15. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int a = 18;
int b = 18;
if (a == b) {
System.out.println("Both are equal");
} else
System.out.println("Not equal");
}
}
Producción :
Both are equal
Comparar dos referencias enteras usando el método equals()
en Java
Podemos usar el método equals()
para comparar dos enteros en Java. Devuelve verdadero si ambos objetos son iguales; de lo contrario, devuelve falso. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
Integer a = new Integer(18);
Integer b = new Integer(18);
if (a.equals(b)) {
System.out.println("Both are equal");
} else
System.out.println("Not equal");
}
}
Producción :
Both are equal
Comparar dos enteros usando el método equals()
en Java
Aquí, estamos comparando dos referencias enteras usando el método equals()
.
public class SimpleTesting {
public static void main(String[] args) {
Integer a = 10;
Integer b = 10;
if (a.equals(b)) {
System.out.println("Both are equal");
} else
System.out.println("Not equal");
}
}
Producción :
Both are equal
No compare dos referencias enteras usando el operador ==
en Java
No deberíamos usar el operador ==
para comparar dos valores enteros porque comprueba la igualdad de la referencia.
Java almacena en caché el valor Integer
en el rango de -128 a 127. Por lo tanto, cuando dos objetos enteros tienen el mismo valor en este rango, el comparador ==
devolverá true
porque se refieren al mismo objeto. Pero devolverá false
para cualquier valor fuera de este rango.
public class SimpleTesting {
public static void main(String[] args) {
Integer a = 18;
Integer b = 18;
if (a == b) {
System.out.println("Both are equal");
} else
System.out.println("Not equal");
}
}
Producción :
Both are equal
public class SimpleTesting {
public static void main(String[] args) {
Integer a = 150;
Integer b = 150;
if (a == b) {
System.out.println("Both are equal");
} else
System.out.println("Not equal");
}
}
Producción :
Not equal
Como puede ver arriba, no deberíamos usar ==
para comparar dos valores Integer
.