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