程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Scala,Java,Python中的相等性

編輯:Python

Python

==:Python運行相等測試,遞歸地比較所有的內嵌對象。(比較內容是否相等)
is:對象一致性。Python測試二者是否是同一個對象。(比較內存地址是否相同)

Java

==
1. 值類型:自然相等性或者說內容相等性
2. 引用類型:對象一致性,是否是同一個對象
equals:應用類型的規約相等性(通常由用戶自定義,往往定義成比較內容是否相等)

Scala

==
1. 值類型:內容相等性
2. 引用類型:幾乎等價於equals,實際定義為:final def ==(that:any):= if(null eq this){null eq that} else {this equals that}
eq: 比較對象一致性
equals: 默認從Any繼承下來,不重寫的話,等價於eq。scala中的equals基本都是被重寫過的,比較的是內容相等性。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved