(ns lol.test
(:gen-class
:name lol.test
:methods [[createHashMap [String] Java.util.HashMap]])
(:import [java.util HashMap]))
(defn -createHashMap [this s]
(HashMap. (assoc {} s "test")))
我正在尝试从 java 调用 clojure 函数,为此我创建了这个文件,它可以用 lein 完美编译,我通过调用“lein uberjar”创建了一个 jar 文件。
现在的问题是,当我像这样从 java 调用它时:
lol.test l = new lol.test();
l.createhashMap("test");
它抛出一个 ArityException
Wrong number of args (2) passed to
我试图从 clojure 代码中删除 'this' 参数,但它没有帮助。这段代码有什么问题?