如何合并两个HashMap变量,例如map1
和map2
?
我尝试了(merge map1 map2)
,但是我得到了以下异常:
ClassCastException java.util.HashMap cannot be cast to clojure.lang.IPersistentCollection
如何合并两个HashMap变量,例如map1
和map2
?
我尝试了(merge map1 map2)
,但是我得到了以下异常:
ClassCastException java.util.HashMap cannot be cast to clojure.lang.IPersistentCollection
显然,java.util.HashMap
不是Clojure map。你可能在执行一些Java代码时得到map1
或map2
(或两者都有)?
因此,在这种情况下,你应该先将它们转换为Clojure maps,例如:
(merge (into {} map1) (into {} map2))
这样应该就可以了。
此外,阅读这篇文章:Clojure: working with a java.util.HashMap in an idomatic Clojure fashion