为什么'indexOf'找不到指定的arrayOfLong?

Why does 'indexOf' not find the specified arrayOfLong?

我有一个 LongArrays 的 ArrayList,每个大小为 2。我正在尝试使用内置的 'indexOf' 方法来查找特定 longs 数组的索引,但我无法弄清楚为什么代码显示找不到我正在搜索的多头数组。请参阅下面的调试会话屏幕截图,其中尝试评估 ArrayList 中的发现 'longArrayOf(0L,5L)'。在我看来,longArrayOf(0L,5L) 显然是 cardHierarchy 数组中的第一个元素。 'indexOf'函数不能用来找数组吗?任何人都可以建议替代方法吗?

indexOf 在传递数组时使用 Object.equals(),它通过引用地址进行比较,对于传递给 indexOfLongArray 和存在于 [=] 中的引用地址是不同的15=].

改为

cardHierarchy.indexOfFirst { it.contentEquals(longArrayOf(0L, 5L)) }