我正在尝试编写一个Clojure库,该库可以从Java使用,而无需用户知道它是用Clojure编写的。为此,我需要我的字段具有正确的类型:

我喜欢这样做:

(deftype Point [^double x ^double y])

生成具有正确类型的x/y的类。但是,这似乎仅适用于基元,不适用于类:
(deftype Foo [^String bar])

生成:
public final Object bar;

我期望的地方:
public final String bar;

有没有办法约束字段类型? deftype/defrecord之外还有其他选择吗?

最佳答案

http://clojure.org/datatypesdeftype上的ojit_a:



(我的重点)

07-28 12:09