簡単なテストクラスを考えてみましょう:
import java.math.BigDecimal;
/**
* @author The Elite Gentleman
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BigDecimal x = new BigDecimal("1");
BigDecimal y = new BigDecimal("1.00");
System.out.println(x.equals(y));
System.out.println(x.compareTo(y) == 0 ? "true": "false");
}
}
(意識的に)x
等しいy
(オブジェクト参照ではない) と言うことができますが、プログラムを実行すると、次の結果が表示されます。
false
true
質問:が と等しいと判断できるcompareTo()
とequals()
の違いは何ですか?BigDecimal
compareTo
x
y
PS: BigDecimal にはinflate()
メソッド オンequals()
メソッドがあることがわかりました。inflate()
実際には何をしますか?