如何在 Clojure 中实现 Java 接口 [英] How do I implement a Java interface in Clojure

查看:26
本文介绍了如何在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆