Confronta due numeri interi in Java

Mohammad Irfan 12 ottobre 2023
  1. Confronta due valori interi utilizzando l’operatore == in Java
  2. Confronta due riferimenti interi utilizzando il metodo equals() in Java
  3. Confronta due numeri interi usando il metodo equals() in Java
  4. Non confrontare due riferimenti interi usando l’operatore == in Java
Confronta due numeri interi in Java

Questo tutorial introduce come confrontare due numeri interi in Java.

Per confrontare i valori interi in Java, possiamo usare il metodo equals() o == (operatore di uguale). Entrambi sono usati per confrontare due valori, ma l’operatore == controlla l’uguaglianza di riferimento di due oggetti interi, mentre il metodo equal() controlla solo i valori interi (primitivo e non primitivo).

Quindi, mentre si confrontano i valori interi, spetta agli sviluppatori scegliere tra i metodi di confronto. Vediamo alcuni esempi.

Confronta due valori interi utilizzando l’operatore == in Java

In questo esempio, prendiamo due interi primitivi e quindi, utilizzando l’operatore ==, confrontiamo entrambi i valori. Testiamo questo esempio utilizzando Java 15. Vedere l’esempio di seguito.

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");
  }
}

Produzione:

Both are equal

Confronta due riferimenti interi utilizzando il metodo equals() in Java

Possiamo usare il metodo equals() per confrontare due numeri interi in Java. Restituisce vero se entrambi gli oggetti sono uguali; in caso contrario, restituisce false. Vedi l’esempio sotto.

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");
  }
}

Produzione:

Both are equal

Confronta due numeri interi usando il metodo equals() in Java

Qui stiamo confrontando due riferimenti interi utilizzando il metodo 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");
  }
}

Produzione:

Both are equal

Non confrontare due riferimenti interi usando l’operatore == in Java

Non dovremmo usare l’operatore == per confrontare due valori interi perché controlla l’uguaglianza del riferimento.

Java memorizza nella cache il valore Integer nell’intervallo da -128 a 127. Pertanto, quando due oggetti interi hanno lo stesso valore in questo intervallo, il comparatore == restituirà true perché si riferiscono allo stesso oggetto. Ma restituirà false per qualsiasi valore al di fuori di questo intervallo.

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");
  }
}

Produzione:

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");
  }
}

Produzione:

Not equal

Come puoi vedere sopra, non dovremmo usare == per confrontare due valori Integer.

Articolo correlato - Java Integer