我遇到了 kotlin equals 函数来比较两个相同类型的列表。它适用于带有数据类的纯 Kotlin。
我在 Kotlin 项目中使用 Java 库,其中回调方法返回 X 秒时间间隔的对象列表。尝试在每次调用时将旧列表与新列表进行比较,但即使项目相同且相等,equals 也会返回 false。
val mOldList: MutableList<MyObject>()? = null
override fun updatedList(list: MutableList<MyObject>){
// other code
if (mOldList.equals(list)) // false everytime
}
这是因为 Java 库中的 equals 方法吗?
列表比较的替代建议将不胜感激。
原文由 Aswin 发布,翻译遵循 CC BY-SA 4.0 许可协议
仅供参考,如果您的自定义对象基于
data class
(它会自动为您覆盖 equals),您无需任何额外工作即可调用list1 == list2
。