Clojure-идиоматический способ инициализации Java-объекта

Я пытаюсь найти идиоматический способ Clojure инициализировать объект Java. У меня есть следующий код:

(let [url-connection
      (let [url-conn (java.net.HttpURLConnection.)]
        (doto url-conn
          (.setDoInput true)
          ; more initialization on url-conn
          )
        url-conn)]
  ; use the url-connection
  )

, но он кажется очень неудобным.

Как лучше создать объект HttpURLConnection и инициализировать его, прежде чем использовать его в дальнейшем в коде ?

ОБНОВЛЕНИЕ : кажется, что (doto ...) может пригодиться здесь:

(let [url-connection
        (doto (java.net.HttpURLConnection.)
          (.setDoInput true)
          ; more initialization
          ))]
  ; use the url-connection
  )

Согласно doto docs, он возвращает значение в что он «делает».

6
задан Ralph 30 November 2010 в 14:40
поделиться