【发布时间】:2015-10-20 10:25:30
【问题描述】:
如何合并两个 hashmap 变量,例如 map1 和 map2?
我尝试过(merge map1 map2),但出现以下异常:
ClassCastException java.util.HashMap 无法转换为 clojure.lang.IPersistentCollection
【问题讨论】:
标签: clojure clojure-java-interop
如何合并两个 hashmap 变量,例如 map1 和 map2?
我尝试过(merge map1 map2),但出现以下异常:
ClassCastException java.util.HashMap 无法转换为 clojure.lang.IPersistentCollection
【问题讨论】:
标签: clojure clojure-java-interop
好吧,显然是因为java.util.HashMap 不是clojure 映射。您可能会得到map1 或map2(或两者)执行一些java 代码?
所以在这种情况下,您应该首先将它们转换为像这样的 clojure 映射,例如:
(merge (into {} map1) (into {} map2))
这应该可以。
也读过这个:Clojure: working with a java.util.HashMap in an idomatic Clojure fashion
【讨论】: