比较两个BigDecimal时,我们可以选择使用equals()compareTo()两个方法,盲目使用equals()会有意想不到的效果。(●’◡’●)

一、结论及建议

1.1、结论

  • equals()会判断小数位数是否相同例如2.0和2.00会被认为是不相等的
  • compareTo()比较会忽略小数位数例如:2.0和2.00会被认为是相等的

    1.2、使用建议

    优先使用compareTo()方法

    二、源码展示

    看完结论再看看源码吧,知其然知其所以然。

2.1、equals(Object x)源码

image.png

2.2 compareTo(Object x)源码

image.png