根据Ordered
trait
需求,equals
ScalaBigDecimal
类上的方法与顺序一致。但是,哈希码只是从包装中获取的java.math.BigDecimal
,因此与 equals 不一致。
object DecTest {
def main(args: Array[String]) {
val d1 = BigDecimal("2")
val d2 = BigDecimal("2.00")
println(d1 == d2) //prints true
println(d1.hashCode == d2.hashCode) //prints false
}
}
我找不到任何关于这是一个已知问题的参考。我错过了什么吗?