我有以下两个BigDecimal对象。
BigDecimal one = new BigDecimal(3.0);
BigDecimal two = new BigDecimal(3.00);
System.out.println(one.scale());//0
System.out.println(two.scale());//0
System.out.println(one.equals(two));//true
我已经阅读了JavaDocs,但无法理解equals
和compareTo
方法之间的区别。JavaDoc表示这些对象通过equals
方法不相等,结果必须为false
,但实际上结果是true
。我感到困惑。
new BigDecimal(3.0);
更改为new BigDecimal("3.0");
,你将会看到它们之间的区别。 - user80977373.0 == 3.00
是true
。 - Arnaud