我正在尝试编写一个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/datatypes和deftype
上的ojit_a:
(我的重点)