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