identityHashCode
Compute stable wrt potential object relocations by the memory manager identity hash code.
@ExperimentalNativeApiexternal fun Any?.identityHashCode(): Int(source)
import kotlin.native.identityHashCode
import kotlin.experimental.ExperimentalNativeApi
@OptIn(ExperimentalNativeApi::class)
fun main() {
val a = "hello"
val b = "hello"
println("a.hashCode() = ${a.hashCode()}")
println("b.hashCode() = ${b.hashCode()}")
println("a.identityHashCode() = ${a.identityHashCode()}")
println("b.identityHashCode() = ${b.identityHashCode()}")
println("a === b = ${a === b}")
val c = Any()
val d = Any()
println("c.identityHashCode() = ${c.identityHashCode()}")
println("d.identityHashCode() = ${d.identityHashCode()}")
val nullObj: Any? = null
println("null.identityHashCode() = ${nullObj.identityHashCode()}")
}