¿Cómo manejar los argumentos de longitud variable de Java en clojure?

Estoy envolviendo una java lib en clojure, pero tengo problemas con los argumentos de longitud variable. Decir,

TestClass.aStaticFunction(Integer... intList){/*....*/} 

¿Cómo podría llamar a esta función en clojure?

Como los varargs de Java son en realidad matrices , puede llamar a las funciones vararg en Clojure pasando una matriz.

Podrías convertir una secuencia de Clojure (tal vez usando la variedad de funciones de argumentos variables de Clojure) en una matriz:

  (TestClass/aStaticFunction (into-array Integer [(int 1),(int 2)])) 

o

 (defn a-static-function-wrapper [& args] (TestClass/aStaticFunction (into-array Integer args)) 

O crea una matriz y configura sus índices manualmente

 (TestClass/aStaticFunction (doto (make-array Integer 3) (aset 0 first-element) (aset 1 second-element) (aset 2 third-element))) 

Los argumentos de longitud variable de Java en realidad quieren una matriz como entrada.

Entonces en Clojure la llamada debería ser algo así como:

 (TestClass/aStaticFunction (into-array Integer some-sequence-of-integers)) 
 (TestClass/aStaticFunction (to-array '(1 2 3 4 5))) 

Por ej.

 (java.util.Arrays/asList (to-array '(1 2 3 4 5)))