BigDecimal の 2 つの値が等しいかどうかを Java で判断する方法

JavaではcompareTo()メソッドを使ってBigDecimalオブジェクトの大小比較ができます。compareTo()メソッドは、2つのBigDecimalオブジェクトの比較結果を整数値で返却します。

コードサンプル:

import java.math.BigDecimal;

public class CompareBigDecimal {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal("10.02");
        BigDecimal num2 = new BigDecimal("10.02");
        BigDecimal num3 = new BigDecimal("10.03");

        // 使用compareTo()方法比较两个BigDecimal对象
        int result1 = num1.compareTo(num2); // 返回0,表示相等
        int result2 = num1.compareTo(num3); // 返回-1,表示num1小于num3

        // 判断两个BigDecimal对象是否相等
        boolean isEqual = result1 == 0;
        System.out.println("num1是否等于num2: " + isEqual); // 输出true

        isEqual = result2 == 0;
        System.out.println("num1是否等于num3: " + isEqual); // 输出false
    }
}

上記コードでは、compareTo()メソッドを使用してBigDecimalオブジェクトのnum1とnum2を比較し、その比較結果をresult1に格納します。次に、result1が 0 に等しいかどうかで、num1がnum2と等しいかどうかを判断します。

同様に、equals()メソッドを用いて、2つのBigDecimalオブジェクトの等価性を判定することもできます。equals()メソッドはcompareTo()メソッドを呼び出して比較を実行し、戻り値が0であれば、2つのオブジェクトは等価であることを示します。

コードサンプル:

public class CompareBigDecimal {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal("10.02");
        BigDecimal num2 = new BigDecimal("10.02");
        BigDecimal num3 = new BigDecimal("10.03");

        // 使用equals()方法比较两个BigDecimal对象
        boolean isEqual = num1.equals(num2); // 返回true,表示相等
        System.out.println("num1是否等于num2: " + isEqual); // 输出true

        isEqual = num1.equals(num3); // 返回false,表示不相等
        System.out.println("num1是否等于num3: " + isEqual); // 输出false
    }
}

上記のコードでは、equals()メソッドを用いて、2つの BigDecimal オブジェクト num1 と num2 とを比較し、その比較結果をisEqual変数に格納しています。その後、isEqual変数で、num1がnum2と等しいかどうかを直接判定できます。

bannerAds