0

オブジェクトに複数のインスタンスを作成し、Java ArrayList に格納するには、どの Clojure メソッドを使用できますか?

Javaでこれを行う方法は知っていますが、Clojureで続行する方法がわかりません。ヘルプ/ポインターは大歓迎です

4

2 に答える 2

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で新しいオブジェクトを作成するための2つのフォームがあります。

(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")
于 2013-03-14T10:30:38.777 に答える
0

ベクターに保存しないのはなぜですか?

user=> (def lst (atom []))
user=> (swap! lst conj "String")
user=> (swap! lst conj 123)
user=> @lst
["String" 123]
于 2013-03-14T10:22:35.307 に答える