Scala 2.7はJava配列に機能を追加しようとし[]
ましたが、問題のあるコーナーケースに遭遇しました。Scala 2.8はそれを宣言していますArray[T]
がT[]
、ラッパーと同等のものを提供します。
2.8で次のことを試してください(編集/注:RC3の時点でGenericArray
は、ArraySeq
これを指摘してくれたレトロニムに感謝します):
import scala.collection.mutable.{GenericArray=>GArray, WrappedArray=>WArray}
scala> GArray(0,1,2) == GArray(0,1,2)
res0: Boolean = true
scala> (Array(0,1,2):WArray[Int]) == (Array(0,1,2):WArray[Int])
res1: Boolean = true
GenericArray
Array
すべてのScalaコレクショングッズが追加されていることを除いて、と 同じように機能します。Java配列をWrappedArray
ラップします。[]
上記では、プレーン配列をキャストして(暗黙の変換関数を呼び出すよりも簡単です)、ラップされた配列を比較しました。これらのラッパーは、[]
配列に支えられていますが、すべてのコレクションの機能も提供します。