对数组调用 hashCode() 会返回身份哈希代码,而不是基于数组内容的哈希。 这几乎从来不是您希望得到的结果。
要正确计算数组的哈希代码,请使用:
contentHashCode()(用于线性数组)contentDeepHashCode()(用于多维数组)示例:
fun main() {
val a1 = arrayOf<Any>()
val hashcode = a1.hashCode() // 错误
}
在应用快速修复后:
fun main() {
val a1 = arrayOf<Any>()
val hashcode = a1.contentHashCode() // 正确
}