Я использую мой поиск равных / хэш-кодов в kotlin
Я понимаю, что равно и (==) отлично работает с классами данных, но с обычным классом, я полагаю, мы должны переопределить методы equals и hashcode:
class GroupWithData {
var group: Group? = null
var data: List<Data>? = null
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as GroupWithData
if (group!= other.group) return false
if (data!= other.data) return false
return true
}
override fun hashCode(): Int {
var result = group?.hashCode() ?: 0
result = 31 * result + (data?.hashCode() ?: 0)
return result
}
Но когда я пытаюсь равняться двум спискам, это не работает правильно.
PS: классы групп и данных являются "классом данных"