陣列

陣列是常規的 JVM 陣列,它們被視為不變的,並且具有特殊的建構函式和隱式轉換。在沒有 new 關鍵字的情況下構造它們。

 val a = Array("element")

現在 a 的型別為 Array[String]

 val acs: Array[CharSequence] = a
 //Error: type mismatch;  found   : Array[String]  required: Array[CharSequence]

雖然 String 可以轉換為 CharSequence,但 Array[String] 不能轉換為 Array[CharSequence]

你可以像其他系列一樣使用 Array,這要歸功於對 TraversableLike ArrayOps 的隱式轉換:

 val b: Array[Int] = a.map(_.length)

大多數 Scala 集合(TraversableOnce)都有一個 toArray 方法,它採用隱式 ClassTag 來構造結果陣列:

 List(0).toArray
 //> res1: Array[Int] = Array(0)

這樣可以很容易地在 Scala 程式碼中使用任何 TraversableOnce,然後將其傳遞給需要陣列的 Java 程式碼。