2

我有一个 Java 类,其构造函数采用可变数量的 String 参数,如下所示:

public Foo(String...args);

我正在尝试在 Clojure 中创建一个 make-foo 多方法来处理这个问题:

(defmethod make-foo clojure.lang.ArraySeq [& args] (new Foo (into-array args)))

但是当我用

(make-foo ["one" "two"])

我得到: IllegalArgumentException 找不到匹配的 ctor

我也希望能够调用它

(make-foo '("one" "two"))

我看到整数、浮点数等有数组变体,但没有字符串。那么我该如何处理这种情况呢?

4

1 回答 1

2

make-foo如果您将其称为 like (make-foo "one" "two"),所写的将起作用,或者您可以&从其定义中删除 ,然后将其传递给序列。

于 2013-02-19T03:17:19.147 回答