什麼是數據結構轉換爲Java集合Clojure的,慣用的方式,具體是:轉換Clojure的數據結構,以Java集合
[]
到java.util.ArrayList
{}
到java.util.HashMap
#{}
到java.util.HashSet
()
to ajava.util.LinkedList
有沒有clojure.contrib庫來做到這一點?
使用案例:爲了將Clojure加入我的組織,我正在考慮爲Clojure中的所有Java REST服務器編寫一個單元測試套件。我已經在Scala中編寫了部分套件,但認爲Clojure可能會更好,因爲宏支持會減少很多樣板代碼(我需要測試幾十個類似的REST服務調用)。我使用EasyMock來模擬數據庫連接(有沒有更好的方法?),我的模擬方法需要返回java.util.List<java.util.Map<String, Object>>
項(表示數據庫行集)給調用者。我會將[{ "first_name" "Joe" "last_name" "Smith" "date_of_birth" (date "1960-06-13") ... } ...]
結構傳遞給我的模擬並將其轉換爲所需的Java集合,以便可以按預期的格式將其返回給調用者。
如果方法需要返回`java.util.List`,那麼就沒有必要因爲Clojure的轉換vector *是一個*`List`。如果所需的類型是特定的實現類,則只需要進行轉換,例如`ArrayList`。 – 2010-11-30 18:23:11