天天看點

kotlin的相等性 == 和===kotlin的相等性 == 和===

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