在 Java 中比較兩個整數

Mohammad Irfan 2023年10月12日
  1. 在 Java 中使用 == 運算子比較兩個整數值
  2. 使用 Java 中的 equals() 方法比較兩個整數引用
  3. 在 Java 中使用 equals() 方法比較兩個整數
  4. 在 Java 中不要使用 == 運算子比較兩個整數引用
在 Java 中比較兩個整數

本教程介紹瞭如何比較 Java 中的兩個整數。

要比較 Java 中的整數值,我們可以使用 equals() 方法或 ==(等於運算子)。兩者都用於比較兩個值,但是 == 運算子檢查兩個整數物件的引用相等性,而 equal() 方法僅檢查整數值(原始和非原始)。

因此,在比較整數值時,由開發人員在比較方法之間進行選擇。讓我們看一些例子。

在 Java 中使用 == 運算子比較兩個整數值

在此示例中,我們採用兩個原始整數,然後使用 == 運算子比較兩個值。我們使用 Java 15 測試該示例。請參見下面的示例。

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

輸出:

Both are equal

使用 Java 中的 equals() 方法比較兩個整數引用

我們可以使用 equals() 方法在 Java 中比較兩個整數。如果兩個物件相等,則返回 true;否則,它返回 false。請參見下面的示例。

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

輸出:

Both are equal

在 Java 中使用 equals() 方法比較兩個整數

在這裡,我們正在使用 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");
  }
}

輸出:

Both are equal

在 Java 中不要使用 == 運算子比較兩個整數引用

我們不應該使用 == 運算子來比較兩個整數值,因為它會檢查引用(物件)的相等性。

Java 快取了 -128 到 127 範圍內的 Integer 值。因此,當兩個整數物件在此範圍內具有相同的值時,== 比較器將返回 true,因為它們引用的是同一個物件。但對於超出此範圍的任何值,它將返回 false

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

輸出:

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

輸出:

Not equal

正如你在上面看到的,我們不應該使用 == 來比較兩個 Integer 值。

相關文章 - Java Integer