2009年11月16日月曜日

ClojureのvectorやlistをJavaの配列にキャストする方法

ClojureからJavaのメソッドを呼び出すときなどに、
ClojureのvectorからString[]やint[]などにキャストする必要がある場合、
to-arrayやinto-arrayを使うとキャストできる。

user> (to-array ["a" "hello"])
#
user> (into-array ["a" "hello"])
#
user> (into-array String ["a" "hello"])
#
user> (into-array Number [1 1.2])
#
user> (into-array [1 2])
#
user> (into-array [1 1.2]) ;これはエラーに
; Evaluation aborted.