如何在Clojure中为注释类添加注释?

时间:2013-04-10 19:39:04

标签: clojure annotations

我需要创建一个实现接口并且还有注释的类,然后将此类的实例传递给用Java实现的某个API。

使用Clojure,我可以重新启用界面并获得这样的实例:

(reify MyInterface (method1 [this] ...))

但是,reify似乎不接受注释。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

首先,reify返回一个不是类的对象。如果需要生成带注释的类,则需要使用gen-class,如下所示(示例显示向类中添加了不推荐的注释):

(gen-class :name ^{java.lang.Deprecated true} MyClass
   ...)

此外,您可以使用deftype

(deftype ^{java.lang.Deprecated true} MyClass 
  ...)