Что такое Clojure-идиоматических способ преобразовать структуру данных в коллекции Java, а именно:Преобразование структуры данных Clojure в Java коллекции
[]
кjava.util.ArrayList
{}
кjava.util.HashMap
#{}
доjava.util.HashSet
()
доjava.util.LinkedList
Возможно, существует библиотека clojure.contrib?
USE CASE: Чтобы облегчить Clojure в моей организации, я рассматриваю возможность написания пакета unit-test для сервера все-Java REST в Clojure. Я написал часть пакета в 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