Oop 如何创建一个";的多个实例;“对象”;在Clojure?
我可以使用哪些Clojure方法在一个对象上创建多个实例,然后将其存储在Java ArrayList中Oop 如何创建一个";的多个实例;“对象”;在Clojure?,oop,clojure,Oop,Clojure,我可以使用哪些Clojure方法在一个对象上创建多个实例,然后将其存储在Java ArrayList中 我知道如何在Java中实现这一点,但我不确定如何在Clojure中继续,任何帮助/指针都将非常感谢为什么不存储在vector中 user=> (def lst (atom [])) user=> (swap! lst conj "String") user=> (swap! lst conj 123) user=> @lst ["String" 123] 看 返回#
我知道如何在Java中实现这一点,但我不确定如何在Clojure中继续,任何帮助/指针都将非常感谢为什么不存储在vector中
user=> (def lst (atom []))
user=> (swap! lst conj "String")
user=> (swap! lst conj 123)
user=> @lst
["String" 123]
看
返回#
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")
谢谢,我知道如何使用arraylist,但我不知道如何创建一个对象并将它们存储在arraylist中,如果这样的话sense@RicardoSanchezhsestupin答案中的代码确实创建了两个对象并将它们存储在数组列表中。@RicardoSanchez抱歉,我不明白你是什么意思好吧,我不知道如何创建一个对象,我想知道如何在Clojure@RicardoSanchez它就在代码中:
(新对象)
。这就是你创建对象的方法。所以LST就像C++结构一样?@ ReRasdoDaNoCZZ不,LST是一个包含向量的原子。一个原子(有点,SoTa)就像C++中的指针,而向量就像C++中的一个const向量。因此,C++代码中的代码是:创建一个称为“代码> LST < /COD>的非const指针,指向一个常量空向量。然后它创建一个常量向量,包含字符串“string”
,并使lst
指向该字符串。然后它创建一个常量向量,其中包含“String”
和123
,并使lst
指向该向量。然后它取消对指针的引用。请注意,在Clojure中,这不是通常的做法。
(Thread. "Hi there")