[プログラミング] 配列の比較

Array型を==で比較すると参照の比較になる。Seqあたりに型変換したあとに比較すると、Listなどと同じように内容を比較できる。

scala> val a = Array(1, 2, 3)
a: Array[Int] = Array(1, 2, 3)

scala> val b = Array(1, 2, 3)
b: Array[Int] = Array(1, 2, 3)

scala> a == b                
res2: Boolean = false

scala> identity[Seq[Int]](a) == identity[Seq[Int]](a)
res4: Boolean = true

identityは引数の値をそのまま返す関数。自動型変換を強要するために利用している。WrappedArrayとかなんとなく使いたくないので