在 Java 中比較兩個整數

Mohammad Irfan 2023年1月30日 2021年4月29日
  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