【发布时间】:2011-12-16 12:03:43
【问题描述】:
我有一个想在 Clojure 中使用的 Java 类。但是,我想将它用作 Clojure 映射。这样做需要哪些步骤?
我查看了IPersistentMap 的代码——Java 类应该实现它吗?还是应该有一些实现协议的 Clojure 代码?
我知道我可以编写一些映射代码,将代码从 Java 对象显式转换为映射,但该解决方案的工作量/回报率很高。另外,我可能会多次遇到同样的情况。
具体示例:我有一个用 Java 编写的解析器。我想用它来解析一些文本,然后像在 Clojure 映射中一样访问解析后的数据结构的内容:
(def parser (new MyParser))
(let [parse-tree (parser ... parse some text ...)]
((parse-tree :items) "itemid"))
【问题讨论】:
标签: java clojure clojure-java-interop