BoxedArrayがらみの挙動
詳しくはhttp://www.lingr.com/room/scala-jaを参照の事
# val arr = Array("1", "2")
を実行したあと、arrはBoxedArrayのサブクラスだが、
# context.put("array2", arr)
にて、putに渡されるときに(コンパイラによって?)自動的に
Stringに変換される。
しかし、現状
# context.put("array2", Array("1", "2"))
と書いた場合は、
Stringへのキャストまでが同時に行われず、
BoxedArrayの「まま」putに渡される。
これが意図したものなのか、バグなのかは不明。
いずれにせよ、(特にインラインで)Array()を使う場合は要注意
引数にObject[]が求められている場面で、
(インラインの)Array()やList()を使う場合は要注意