Как проверить, что экземпляр списка не является другим экземпляром списка?
У меня есть список
var theDataList: List<Data> // populated with some data
и сделал копию этого
val copy = theDataList.toMutableList()
вниз по течению в коде, он хотел бы проверить, является ли это копия один или оригинал
.hashCode()
возвращает одинаково для обоих
Если просто хотите использовать Log для распечатки, как это сделать?
Log.d("+++", "theDataList: ${theDataList.hashCode()}, copy: ${copy.hashCode()"})
распечатать тот же номер.
А также Log.d("+++", "copy: ${copy}")
распечатывает содержимое списка
2 ответа
Проблема:
Хэш-код для обоих списков одинаков, поскольку он основан на данных в списке, которые одинаковы.
Решение:
Что вы действительно хотите, это сравнить ссылки обоих списков. Вы можете сделать это с помощью оператора ссылочного равенства Kotlin===
,
theDataList === copy // false
Использовать ===
оператор для сравнения ссылок одинаков (не вызывает equals
метод)