Comparer deux entiers en Java
-
Comparez deux valeurs entières à l’aide de l’opérateur
==
en Java -
Comparez deux références entières en utilisant la méthode
equals()
en Java -
Comparer deux entiers en utilisant la méthode
equals()
en Java -
Ne comparez pas deux références entières à l’aide de l’opérateur
==
en Java
Ce didacticiel explique comment comparer deux entiers en Java.
Pour comparer des valeurs entières en Java, nous pouvons utiliser la méthode equals()
ou ==
(opérateur égal). Les deux sont utilisés pour comparer deux valeurs, mais l’opérateur ==
vérifie l’égalité de référence de deux objets entiers, tandis que la méthode equal()
vérifie uniquement les valeurs entières (primitives et non primitives).
Ainsi, lors de la comparaison des valeurs entières, il appartient aux développeurs de choisir entre les méthodes de comparaison. Voyons quelques exemples.
Comparez deux valeurs entières à l’aide de l’opérateur ==
en Java
Dans cet exemple, nous prenons deux entiers primitifs, puis en utilisant l’opérateur ==
, nous comparons les deux valeurs. Nous testons cet exemple en utilisant Java 15. Voir l’exemple ci-dessous.
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");
}
}
Production:
Both are equal
Comparez deux références entières en utilisant la méthode equals()
en Java
Nous pouvons utiliser la méthode equals()
pour comparer deux entiers en Java. Il renvoie true si les deux objets sont égaux; sinon, il renvoie false. Voir l’exemple ci-dessous.
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");
}
}
Production:
Both are equal
Comparer deux entiers en utilisant la méthode equals()
en Java
Ici, nous comparons deux références entières en utilisant la méthode 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");
}
}
Production:
Both are equal
Ne comparez pas deux références entières à l’aide de l’opérateur ==
en Java
Nous ne devons pas utiliser l’opérateur ==
pour comparer deux valeurs entières car il vérifie l’égalité de la référence.
Java met en cache la valeur Integer
dans la plage de -128 à 127. Par conséquent, lorsque deux objets entiers ont la même valeur dans cette plage, le comparateur ==
renverra true
car ils font référence au même objet. Mais il renverra false
pour toute valeur en dehors de cette plage.
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");
}
}
Production:
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");
}
}
Production:
Not equal
Comme vous pouvez le voir ci-dessus, nous ne devons pas utiliser le ==
pour comparer deux valeurs Integer
.