背景:
近写BigDecimal的数字比较,123和123.00居然被认为是不等的两个数
测试效果如下:

后翻源码发现:
1.equals方法比较value和scale(数值和精度),精度不一样,也返回false
2.compareTo的描述,数值相同但是精度不同的两个数(例如123和123.00)被认为是相等的两个数,返回0
另附a.compareTo(b)方法的返回含义
a<b, 返回-1
a=b,返回0
a>b, 返回1
最后
以上就是听话白昼最近收集整理的关于BigDecimal的比较用compareTo而不是equals的全部内容,更多相关BigDecimal内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复