如何在 Clojure 中实现 Java 接口 [英] How do I implement a Java interface in Clojure
本文介绍了如何在 Clojure 中实现 Java 接口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何创建一个实现此接口的 Clojure 对象,然后从 Java 代码中调用?
How do I create a Clojure object that implements this interface and then gets called from Java code?
public interface Doer {
public String doSomethin(String input);
}
Doer clojureDoer = ?;
String output = clojureDoer.doSomethin(input);
推荐答案
reify
是实现接口的强烈首选 - proxy
是繁重的、陈旧的和缓慢的,所以应该尽可能避免.一个实现看起来像:
reify
is strongly preferred for implementing interfaces - proxy
is heavy-duty, old, and slow, so should be avoided when possible. An implementation would look like:
(reify Doer
(doSomethin [this input]
(...whatever...)))
这篇关于如何在 Clojure 中实现 Java 接口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文