我可以使用哪种Clojure方法在对象上创建多个实例然后存储在Java ArrayList中?
我知道如何在Java中执行此操作,但我不确定如何继续使用Clojure,任何帮助/指针都将非常感激
答案 0 :(得分:1)
查看http://clojure.org/java_interop
(doto (new java.util.ArrayList)
(.add (new Object))
(.add (new Object)))
返回#<ArrayList [java.lang.Object@5ae7fa2, java.lang.Object@33d6798]>
有两种形式可以在clojure中创建新对象。
(Classname. args*)
(new Classname args*)
所以这里是如何在clojure中创建java对象的简单示例。首先是它在Java中的表现:
Thread thread = new Thread("Hi there");
Clojure的
; return instance of java.lang.Thread class
(new Thread "Hi there")
或其他方式
(Thread. "Hi there")
答案 1 :(得分:0)
为什么不存储在矢量中?
user=> (def lst (atom []))
user=> (swap! lst conj "String")
user=> (swap! lst conj 123)
user=> @lst
["String" 123]