Comparer deux entiers en Java

Mohammad Irfan 12 octobre 2023
  1. Comparez deux valeurs entières à l’aide de l’opérateur == en Java
  2. Comparez deux références entières en utilisant la méthode equals() en Java
  3. Comparer deux entiers en utilisant la méthode equals() en Java
  4. Ne comparez pas deux références entières à l’aide de l’opérateur == en Java
Comparer deux entiers 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.

Article connexe - Java Integer