3
如何合併兩個hashmap變量,例如map1
和map2
?如何合併Clojure上的兩個hashmaps?
我已經試過(merge map1 map2)
,但我得到以下異常:
ClassCastException異常的java.util.HashMap不能轉換到 clojure.lang.IPersistentCollection
如何合併兩個hashmap變量,例如map1
和map2
?如何合併Clojure上的兩個hashmaps?
我已經試過(merge map1 map2)
,但我得到以下異常:
ClassCastException異常的java.util.HashMap不能轉換到 clojure.lang.IPersistentCollection
好,顯然是因爲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
不應該'(合併{} MAP1 MAP2)'工作一樣好? – DaoWen
你是對的,但我只是想強調轉換的想法 – leetwinski