我正在开发一个clojure项目,我想在Java中创建一个类,然后实例化该类并从我的clojure代码中调用一个方法。
我的Java代码位于resources / MyClass.java
中public class MyClass {
public static long myMethod() {
long i = 1;
return i;
}
}
在我的clojure代码中我有
(import MyClass)
...
(def my-object (MyClass.))
(.myMethod my-object)
我编译了我的类并运行了lein编译,但是当我运行我的代码时,我得到了
Exception in thread "main" java.lang.IllegalArgumentException: No matching field found: myMethod for class MyClass
at clojure.lang.Reflector.getInstanceField(Reflector.java:271)
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:300)
我做错了什么?它看起来像import实例,因为实例化,但我无法调用该方法。感谢帮助!
由于
答案 0 :(得分:2)
使用/
而不是.
(MyClass/myMethod)