Как проверить, что экземпляр списка не является другим экземпляром списка?

У меня есть список

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 метод)

Другие вопросы по тегам