у вас будет выглядеть перегрузка areContentsTheSame для вот таких вот сущностей (взятых из readme делагатов):
interface Animal { val id: Long }
data class Cat(...): Animal
data class Dog(...): Animal
Вот так?
override fun areContentsTheSame(...): Boolean {
return if (oldItem is Cat && newItem is Cat)
oldItem == newItem
else if (oldItem is Dog && newItem is Dog)
oldItem == newItem
else throw IllegalStateException()
}
или
override fun areContentsTheSame(...): Boolean {
return oldItem.equals(newItem)
}
второй вариант должен корректно отработать
должен, если сравниваются дата классы, но меня немножко смущает варнинг. тут же чат тесно связан с чистым кодом, вот стало интересно, вдруг я что-то упускаю
да, меня он тоже смущал. Всё корректно работат я тестил
Обсуждают сегодня