Ordered
trait
要求に応じて、Scalaのクラスのメソッドequals
はBigDecimal
順序と一致しています。ただし、ハッシュコードはラップされたものから取得されるだけな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
}
}
これが既知の問題であるという言及は見つかりません。私は何かが足りないのですか?