Spring框架使用方法,您可以根据需要传递尽可能多的参数。具有无限参数的Java方法
我想写一个函数,也可以采取无限量的数据。这个功能是如何调用的,以便我可以阅读它。或者我该如何定义它?
非常感谢。
Spring框架使用方法,您可以根据需要传递尽可能多的参数。具有无限参数的Java方法
我想写一个函数,也可以采取无限量的数据。这个功能是如何调用的,以便我可以阅读它。或者我该如何定义它?
非常感谢。
它被称为varargs。
它允许一个方法采取任意数量的参数。他们是在该方法的数组访问:
public void foo(String... args) {
for (String arg : args) {
// do smth with arg.
}
}
这是syntactic sugar。编译器隐藏数组创建,所以不是
bar.foo(new String[] {"1", "2", "3"});
你写
bar.foo("1", "2", "3");
要添加Bozho的答案,你也可以在你的方法,其他参数可变参数之前:
// foo(13, "foo", "bar", "baz");
// will print:
// 13 - |foo||bar||baz|
public void foo(int a, String... b) {
System.out.println(a + " - ");
for (String c : b) {
System.out.print("|" + c + "|");
}
}
但是,您不能在之后拥有不同类型的参数。这些不起作用:
public void bar(String... b, int b);
public void foo(int a, String... b, int b);
哪个类有这种方法?也许就像静态主(String []参数) – jjchiw
定义“无限量的数据”。 – pap