如何在Clojure中合并两个哈希映射?

4

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

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

ClassCastException java.util.HashMap cannot be cast to clojure.lang.IPersistentCollection

1个回答

5

显然,java.util.HashMap不是Clojure map。你可能在执行一些Java代码时得到map1map2(或两者都有)?

因此,在这种情况下,你应该先将它们转换为Clojure maps,例如:

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

这样应该就可以了。

此外,阅读这篇文章:Clojure: working with a java.util.HashMap in an idomatic Clojure fashion


没错,但我只想强调转换的概念。 - leetwinski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接