2016-10-08 74 views
0

如果存在兩個對象,它們沒有內容和相同類型,那麼默認情況下在Scala中確定的哈希碼是多少?它是特定於JVM還是在scala github repo中有代碼可以查看? (我在那裏找不到)什麼是類型爲Any的對象的哈希碼的Scala實現?

我確實在尋找類似的問題,但他們都是java的具體問題,不知道斯卡拉團隊是否做了什麼不同的事情。

+0

它使用「Object.hashCode」的底層JVM實現,該參數因虛擬機而異。看[這個答案](http://stackoverflow.com/a/26975908/1870803)fot更多細節。 –

回答

2

Object implements hashCode,所以它默認來自Java。 Scala對象可以覆蓋它。例如。 case類將會覆蓋它等價於相等邏輯,並委託給成員對象。