3

I have a function in Java that I would like to call from Clojure. The particular prototype is the following:

public MyClass create(String aaa, File bbb, String[] args)

I therefore need to pass a String[] as a parameter, from a Clojure function. Passing any of the following:

  • (def args [])
  • (def args [""])
  • (def args ^String [])

all yield an exception: No matching method found: createScript for class BlaBla..

I have also seen this Java interop documentation, but I am probably missing something. How do I call this method from Clojure?

Dave Liepmann
  • 1,555
  • 1
  • 18
  • 22
nha
  • 17,623
  • 13
  • 87
  • 133

1 Answers1

4
(.create (MyClass.) "aaa" (File. "my file") (into-array ["foo" "bar" "baz"]))

Should do the trick.

See https://clojuredocs.org/clojure.core/into-array for more details.

slipset
  • 2,960
  • 2
  • 21
  • 17