我正在尝试寻找一种 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
文档,它返回它正在“执行”的值。
最佳答案
如我的问题更新中所述,这是我得出的答案:
(let [url-connection
(doto (java.net.HttpURLConnection.)
(.setDoInput true)
; more initialization
))]
; use the url-connection
)
也许有人可以想出更好的办法。
关于java - 初始化 Java 对象的 Clojure 惯用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4314718/