我接触了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方法吗?
如果有比较列表的其他建议,将不胜感激。
MyObject
是否重写了equals()
方法? - Robby Cornelissenequals()
方法。 - Aswinequals()
方法,就无法实现结构相等。 - Robby Cornelissen