phr*_*eed 1 java key equals hashmap kotlin
我有一个类“Foo”(不在我的控制之下),我希望将其用作 kotlin(java)哈希图中的键。问题是“Foo”的“equals”方法确实值相等。对于我的情况来说,价值对等太宽松了。我需要对象等价。
有哪些方法可以强制在键上强制使用对象等效性?
我在想类似的事情...
data class Foo(val prop: String)
data class Bar(val prop: String)
fun main() {
val fooMap = mutableMapOf<Any, Bar>()
val fooA = Foo("common value")
val fooB = Foo("common value")
fooMap[fooA] = Bar("different A")
fooMap[fooB] = Bar("different B")
println("${fooMap.keys} ${fooMap.values}")
}
Run Code Online (Sandbox Code Playgroud)
这会导致 fooMap 只有一个条目,而我期望有两个条目。
[Foo(prop=common value)] [Bar(prop=different B)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |