Compare dois inteiros em Java
-
Compare dois valores inteiros usando o operador
==
em Java -
Compare duas referências inteiras usando o método
equals()
em Java -
Compare dois inteiros usando o método
equals()
em Java -
Não compare duas referências inteiras usando o operador
==
em Java
Este tutorial apresenta como comparar dois inteiros em Java.
Para comparar valores inteiros em Java, podemos usar o método equals()
ou ==
(operador igual). Ambos são usados para comparar dois valores, mas o operador ==
verifica a igualdade de referência de dois objetos inteiros, enquanto o método equal()
verifica apenas os valores inteiros (primitivos e não primitivos).
Portanto, ao comparar os valores inteiros, cabe aos desenvolvedores escolher entre os métodos de comparação. Vamos ver alguns exemplos.
Compare dois valores inteiros usando o operador ==
em Java
Neste exemplo, pegamos dois inteiros primitivos e, usando o operador ==
, comparamos os dois valores. Testamos este exemplo usando Java 15. Veja o exemplo abaixo.
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");
}
}
Resultado:
Both are equal
Compare duas referências inteiras usando o método equals()
em Java
Podemos usar o método equals()
para comparar dois inteiros em Java. Ele retorna verdadeiro se os dois objetos forem iguais; caso contrário, retorna falso. Veja o exemplo abaixo.
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");
}
}
Resultado:
Both are equal
Compare dois inteiros usando o método equals()
em Java
Aqui, estamos comparando duas referências de inteiros usando o 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");
}
}
Resultado:
Both are equal
Não compare duas referências inteiras usando o operador ==
em Java
Não devemos usar o operador ==
para comparar dois valores inteiros porque ele verifica a igualdade da referência.
Java armazena em cache o valor Integer
no intervalo de -128 a 127. Portanto, quando dois objetos inteiros têm o mesmo valor nesse intervalo, o comparador ==
retornará true
porque eles se referem ao mesmo objeto. Mas retornará false
para qualquer valor fora desse intervalo.
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");
}
}
Resultado:
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");
}
}
Resultado:
Not equal
Como você pode ver acima, não devemos usar o ==
para comparar dois valores Integer
.