标签: clojure annotations
我需要创建一个实现接口并且还有注释的类,然后将此类的实例传递给用Java实现的某个API。
使用Clojure,我可以重新启用界面并获得这样的实例:
(reify MyInterface (method1 [this] ...))
但是,reify似乎不接受注释。我该如何解决这个问题?
reify
答案 0 :(得分:3)
首先,reify返回一个不是类的对象。如果需要生成带注释的类,则需要使用gen-class,如下所示(示例显示向类中添加了不推荐的注释):
gen-class
(gen-class :name ^{java.lang.Deprecated true} MyClass ...)
此外,您可以使用deftype:
deftype
(deftype ^{java.lang.Deprecated true} MyClass ...)