我有一个Java类,其构造函数采用可变数量的String参数,如下所示:
public Foo(String...args);
我正在尝试在Clojure中创建一个make-foo multimethod来处理这个问题:
(defmethod make-foo clojure.lang.ArraySeq [& args] (new Foo (into-array args)))
但是当我用
打电话时(make-foo ["one" "two"])
我得到:IllegalArgumentException找不到匹配的ctor
我也希望能够用
来调用它(make-foo '("one" "two"))
我看到有针对整数,浮点数等的数组变体,但没有字符串。那我该怎么办呢?
答案 0 :(得分:2)
make-foo
如果您将其称为(make-foo "one" "two")
,则可以正常工作,或者您可以从其定义中删除&
然后传递序列。