2012-10-19 22 views
7

Ich bin völlig neu in Scala. Hier habe ich versucht, einer Variablen ein leeres Array zuzuordnen, das war erfolgreich. Aber als ich versuchte, eine ganze Zahl Element an die Variable anzuhängen ein Fehler wie unten aufgetreten:Scala leeren Array zuweisen

var c=Array() 

c: Array[Nothing] = Array() 

scala> c=Array(1) 

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

Was ist der Grund dafür?

Antwort

9

Wenn Sie var c = Array() tun, berechnet Scala den Typ als Array[Nothing] und daher können Sie es nicht mit einem Array[Int] neu zuweisen. Was Sie tun können ist:

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

oder

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

Dank! Bedeutet das, dass wir nichts zu einem "Array" vom Typ "Nothing" einfügen (oder zuweisen) können, nachdem es erstellt wurde? – asgs