簡體   English   中英

如何驗證列表的實例不是另一個列表實例?

[英]How to verify an instance of a List is not another List instance?

我有一個清單

var theDataList: List<Data> // populated with some data

並制作了一個副本

val copy = theDataList.toMutableList()

在代碼的下游,它想驗證它是副本一還是原始副本一

.hashCode()對兩個返回相同

如果只想使用日志進行打印,該怎么辦?

Log.d("+++", "theDataList: ${theDataList.hashCode()}, copy: ${copy.hashCode()"})打印出相同的數字。

然后Log.d("+++", "copy: ${copy}")打印出列表內容

問題:

兩個列表的哈希碼相同,因為它基於列表中的數據,這是相同的。

解:

您真正想要的是比較兩個列表的引用。 您可以使用Kotlin的參照相等運算符 === 操作

theDataList === copy // false

您無需依靠ID /哈希即可在JVM上標識所需的對象。 有關更多信息,請在這里查看

使用===運算符比較引用是否相同(不調用equals方法)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM