2

インターフェイスを実装し、注釈も持つクラスを作成し、後でこのクラスのインスタンスを Java で実装された API に渡す必要があります。

Clojure を使用すると、インターフェイスを具体化して、次のようなインスタンスを取得できます。

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

ただし、reify注釈は受け付けていないようです。これを回避するにはどうすればよいですか?

4

1 に答える 1

4

まずreify、クラスではなくオブジェクトを返します。注釈付きのクラスを生成する必要がある場合は、gen-class以下に示すように使用する必要があります (例では、非推奨の注釈をクラスに追加する方法を示しています)。

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

また、次を使用できますdeftype

(deftype ^{java.lang.Deprecated true} MyClass 
  ...)
于 2013-04-11T04:25:06.137 に答える