2012-10-19 83 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