2
我有一個構造函數的Java類採取可變數量的字符串參數是這樣的:如何將clojure.lang.ArraySeq轉換爲Java String []?
public Foo(String...args);
我試圖創建一個的Clojure化妝FOO多方法來處理這個問題:
(defmethod make-foo clojure.lang.ArraySeq [& args] (new Foo (into-array args)))
但是,當我與
(make-foo ["one" "two"])
調用它,我得到:拋出:IllegalArgumentException沒有匹配的構造函數發現
我還希望能夠與
(make-foo '("one" "two"))
調用它,我看到有到陣列的變種整數,浮點數等,但沒有字符串。那麼我該如何處理這種情況呢?
刪除&做了詭計。我沒有意識到所有的defmethod形式都不必具有相同的參數簽名 – klucar 2013-02-20 02:05:13