2012-10-19 41 views
7

我對Scala完全陌生。在這裏我試圖給一個變量分配一個空數組,這是成功的。但是當我試圖向變量添加一個整數元素時,發生如下錯誤:指定scala空數組

var c=Array() 

c: Array[Nothing] = Array() 

scala> c=Array(1) 

<console>:8: error: type mismatch; 
found : Int(1) 
required: Nothing 
     c=Array(1) 
     ^

這是什麼原因?

回答

9

當你做var c = Array(),斯卡拉計算類型爲Array[Nothing],因此你不能用Array[Int]重新分配它。你可以做的是:

var c : Array[Any] = Array() 
c = Array(1) 

var c : Array[Int] = Array() 
c = Array(1) 
+0

謝謝!這是否意味着一旦創建了'Nothing'類型的'Array',我們就不能插入(或分配)任何東西? – asgs