==
:Python運行相等測試,遞歸地比較所有的內嵌對象。(比較內容是否相等)is
:對象一致性。Python測試二者是否是同一個對象。(比較內存地址是否相同)
==
:
1. 值類型:自然相等性或者說內容相等性
2. 引用類型:對象一致性,是否是同一個對象equals
:應用類型的規約相等性(通常由用戶自定義,往往定義成比較內容是否相等)
==
:
1. 值類型:內容相等性
2. 引用類型:幾乎等價於equals,實際定義為:final def ==(that:any):= if(null eq this){null eq that} else {this equals that}
eq
: 比較對象一致性equals
: 默認從Any繼承下來,不重寫的話,等價於eq。scala中的equals基本都是被重寫過的,比較的是內容相等性。