Java で 2つの整数を比較する
    
    
            Mohammad Irfan
    2023年10月12日
    
    Java
    Java Integer
    
- 
          
            Java で ==演算子を使用して 2つの整数値を比較する
- 
          
            Java で equals()メソッドを使用して 2つの整数参照を比較する
- 
          
            Java で equals()メソッドを使用して 2つの整数を比較する
- 
          
            Java で ==演算子を使用して 2つの整数参照を比較しない
 
このチュートリアルでは、Java で 2つの整数を比較する方法を紹介します。
Java で整数値を比較するには、equals() メソッドまたは ==(equals 演算子)のいずれかを使用できます。両方とも 2つの値を比較するために使用されますが、== 演算子は 2つの整数オブジェクトの参照の同等性をチェックしますが、equal() メソッドは整数値(プリミティブと非プリミティブ)のみをチェックします。
したがって、整数値を比較する際に、比較方法を選択するのは開発者の責任です。いくつかの例を見てみましょう。
Java で == 演算子を使用して 2つの整数値を比較する
この例では、2つのプリミティブ整数を取得し、== 演算子を使用して両方の値を比較します。この例では、Java15 を使用してテストします。以下の例を参照してください。
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() メソッドを使用して 2つの整数参照を比較する
equals() メソッドを使用して、Java で 2つの整数を比較できます。両方のオブジェクトが等しい場合は 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() メソッドを使用して 2つの整数を比較する
ここでは、equals() メソッドを使用して 2つの整数参照を比較しています。
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 で == 演算子を使用して 2つの整数参照を比較しない
参照の同等性をチェックするため、2つの整数値を比較するために == 演算子を使用しないでください。
Java は-128 から 127 の範囲の Integer 値をキャッシュします。したがって、2つの整数オブジェクトがこの範囲で同じ値を持つ場合、== コンパレータは同じオブジェクトを参照するため 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
上記のように、2つの Integer 値を比較するために == を使用するべきではありません。
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe