Buh*_*ndi 141 java equals bigdecimal compareto
考虑简单的测试类:
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");
}
}
Run Code Online (Sandbox Code Playgroud)
你可以(有意识地)说它x
等于y
(不是对象引用),但是当你运行程序时,以下结果显示:
false
true
Run Code Online (Sandbox Code Playgroud)
问:什么是之间的区别compareTo()
,并equals()
在BigDecimal
该compareTo
可以确定x
等于y
?
PS:我看到BigDecimal在inflate()
方法上有一个equals()
方法.inflate()
实际上做了什么?
Joa*_*uer 205
答案是在方法的JavaDoc中equals()
:
与
compareTo
此不同,此方法只考虑两个BigDecimal
对象的值和比例相等(因此,当通过此方法进行比较时,2.0不等于2.00).
换句话说:equals()
检查BigDecimal
对象在每个方面是否完全相同."only"比较它们的数值.compareTo()
归档时间: |
|
查看次数: |
109530 次 |
最近记录: |