陣列
陣列是常規的 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 程式碼。