Java で 2つの整数を比較する
Mohammad Irfan
2023年10月12日
-
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
値を比較するために ==
を使用するべきではありません。