kotlin的相等性 == 和===
對kotlin的相等性做個簡單的記錄
kotlin中有兩種類型的相等性
- 結構相等
- 引用相等
結構相等
這個可以簡單的了解為判斷内容是否相等(Java的equals方法),使用的是 == 符号來實作
kotlin中的
a == b
等價于下面這種
a?.equals(b) ?: b == null
這個kotlin寫法翻譯為Java可以用下面這種寫法表示:
if(a == null)
return b == null;
else
return a.equals(b)
引用相等
這個由 === 實作
a === b
當a和b指向的是同一個對象時才傳回true
參考:
https://www.kotlincn.net/docs/reference/equality.html
https://zhuanlan.zhihu.com/p/27214002