最佳答案
考虑一下这个简单的测试类:
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
问: BigDecimal
中 compareTo()
和 equals()
的区别是什么,compareTo
可以确定 x
等于 y
?
PS: 我看到 BigDecimal 在 equals()
方法上有一个 inflate()
方法。 inflate()
实际上是做什么的?