【问题标题】:How to merge two hashmaps on Clojure?如何在 Clojure 上合并两个哈希图?
【发布时间】:2015-10-20 10:25:30
【问题描述】:

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

我尝试过(merge map1 map2),但出现以下异常:

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

【问题讨论】:

    标签: clojure clojure-java-interop


    【解决方案1】:

    好吧,显然是因为java.util.HashMap 不是clojure 映射。您可能会得到map1map2(或两者)执行一些java 代码?

    所以在这种情况下,您应该首先将它们转换为像这样的 clojure 映射,例如:

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

    这应该可以。

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

    【讨论】:

    • 你说得对,但我只是想强调一下转换思路
    猜你喜欢
    • 2011-04-23
    • 2018-10-31
    • 2016-09-02
    • 2020-09-25
    • 2017-09-26
    • 1970-01-01
    • 2016-10-07
    • 2023-03-16
    相关资源
    最近更新 更多