BigDecimal对象比较大小

超、凢脫俗 2021-09-27 10:42 623阅读 0赞

比较对象是否相等
一般的对象用equals,见 java equals() 方法总结,Object 的 equals() 方法是比较两个对象的内存地址是否相等,即若 object1.equals(object2) 为 true,则表示 equals1 和 equals2 实际上是引用同一个对象。虽然有时候 Object 的 equals() 方法可以满足我们一些基本的要求,但是我们必须要清楚我们很大部分时间都是进行两个对象的比较,这个时候 Object 的 equals() 方法就不可以了,实际上 JDK 中,String、Math 等封装类都对 equals() 方法进行了重写。

但是BigDecimal比较特殊,举个例子:

  1. import java.math.BigDecimal;
  2. class test0 {
  3. public static final DecimalFormat df1 = new DecimalFormat("0.0");
  4. public static void main(String[] args) {
  5. //test BigDecimal 对象比较大小
  6. BigDecimal x = new BigDecimal("1");
  7. BigDecimal y = new BigDecimal("1.00");
  8. System.out.println("x.equals(y):" + x.equals(y));
  9. System.out.println("x.compareTo(y):" + (x.compareTo(y) == 0 ? "true": "false"));
  10. }
  11. //结果
  12. x.equals(y):false
  13. x.compareTo(y):true

查找java文档关于compareTo()和equals()方法说明:

70

70 1

发表评论

表情:
评论列表 (有 0 条评论,623人围观)

还没有评论,来说两句吧...

相关阅读