如何在Clojure上合并两个哈希图?

时间:2015-10-20 10:25:31

标签: clojure clojure-java-interop

如何合并两个hashmap变量,例如map1map2

我尝试了(merge map1 map2),但我遇到了以下异常:

  

ClassCastException java.util.HashMap无法强制转换为   clojure.lang.IPersistentCollection

1 个答案:

答案 0 :(得分:4)

很明显,因为java.util.HashMap不是clojure地图。你可能会得到map1map2(或两者)执行一些java代码?

所以在这种情况下你应该先将它们转换成这样的clojure贴图,例如:

(merge (into {} map1) (into {} map2))

这应该有效。

也读过这个:Clojure: working with a java.util.HashMap in an idomatic Clojure fashion