0
在scala中定義了一個類後,我創建的對象似乎是不同的類型。 嘗試創建對象的ListBuffer。試用scala命令行。有人可以解釋這個嗎?Scala:對象有相同的類有不同的類型?
在下面的示例中,我創建了一個class z
。試圖將它們添加到ListBuffer
scala> class z()
defined class z
scala> var p = new z()
p: this.z = [email protected]
scala> var q = new z()
q: this.z = [email protected]
scala> var LB = ListBuffer[z](p,q)
<console>:19: error: type mismatch;
found : this.z
required: this.z
var LB = ListBuffer[z](p,q)
^
<console>:19: error: type mismatch;
found : this.z
required: this.z
var LB = ListBuffer[z](p,q)
^
你在REPL中試過嗎?如果在定義p和q之後重新執行第一行(重新定義類z),則可能會產生您所看到的那種錯誤。在乾淨的運行中,我沒有遇到問題。 – Shadowlands
我正在火花外殼中運行。這有什麼區別嗎。它運行Scala2.9.3 – Vijay
我猜測它沒有,但我無法肯定地說。嘗試重新設置並重新運行代碼,確保不要重複任何行 - 假設您可以執行重置(在sbt的控制檯中鍵入':reset')。 – Shadowlands