2015-04-05 41 views

回答

0

您可以簡單地定義此接口Java並從Clojure使用它。

如果你真的想這樣做Clojure中,雖然,這是可能的,但你將不得不使用gen-interface而非definterface

(gen-interface 
    :name fully.qualified.IName 
    :extends [whatever.it.INeedsTo] 
    :methods 
    [[methodName 
    [fully.qualified.type.of.Argument1 …] ; NB. no `this' formal argument 
    fully.qualified.ReturnType]]) 

對於真實世界的例子,有一個看看this interface definition in data.avlthis one in ctries.clj(後者使用:extends)。

Task<String>的的一部分不會出現在Clojure版本中 - 泛型是javac構造,並且在運行時不存在於JVM上。

+0

謝謝Michal!我的首選是能夠在clojure中進行這一操作,因爲它使重新編譯和測試變得非常簡單。 – zcaudate 2015-04-09 07:14:30

相關問題