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()を使う場合は要注意