我正在尝试编写一个可以在 Java 中使用的 Clojure 库,而用户不知道它是用 Clojure 编写的。为此,我需要我的字段具有正确的类型:
我喜欢我可以这样做:
(deftype Point [^double x ^double y])
它为 x/y 生成一个具有适当类型的类。但是,这似乎只适用于原语,不适用于类:
(deftype Foo [^String bar])
生成一个:
public final Object bar;
我期望的地方:
public final String bar;
有没有办法限制字段类型?deftype
/之外还有其他选择defrecord
吗?