鉴于此类和重载方法:
public class MyClass {
public MyClass(){}
public String foo(string a, boolean b) { return "bool: " + i; }
public String foo(string a, String... values) { return "strarray: " + values; }
}
我们想用第二个参数调用foo。我们尝试了许多带有类型提示的迭代,但我仍然无法调用strarray方法。
这是我们尝试into-array时得到的数组:
IllegalArgumentException No matching method found: setParam for class xxx clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53)
如何在clojure中做到这一点?
答案 0 :(得分:1)
电话会看起来像这样:
(.foo (MyClass.)
"first argument"
(into-array String ["second" "and third"]))
答案 1 :(得分:-1)
您可以先串联字符串并返回相同的
public class Demo {
public String foo(String... values) {
String value = "";
for (int i = 0; i < values.length; i++) {
value += values[i]+" ";
}
return "strarray: " + value;
}
public static void main(String[] args) {
Demo demo = new Demo();
System.out.println(demo.foo("ABCD", "PQRS","XYZW"));
}
}
<强>输出:强> strarray:ABCD PQRS XYZW