2013-04-27 77 views
0

爲了訪問具有類型參數的類的構造函數,我可以這樣做:如何獲得clojure中包含原始類的構造函數?

> (.newInstance (.getConstructor java.util.Date (into-array java.lang.Class [])) 
      (object-array [])) 
;=> #inst "2013-04-27T04:00:55.498-00:00" 

> (.newInstance (.getConstructor java.util.Date (into-array java.lang.Class [java.lang.String])) 
      (object-array ["27 Apr 2013"])) 
;=> #inst "2013-04-26T14:00:00.000-00:00" 

java.util.Date也需要long作爲一個參數,我希望寫類似

> (.newInstance (.getConstructor java.util.Date (into-array java.lang.Class [long])) 
      (object-array [0])) 

如何才能做到這一點?

回答

1

原語的對象包裝都有一個靜態TYPE場可以在這些情況下使用。

所以你需要你的具體的例子...

(.newInstance 
    (.getConstructor java.util.Date 
    (into-array java.lang.Class [java.lang.Long/TYPE])) 
     (object-array [0])) 
;=> #inst "1970-01-01T00:00:00.000-00:00" 
相關問題