Fra*_*fka 52 java methods arguments
spring框架使用的方法可以传递任意数量的参数.
我想写一个函数,也可以采取无限量的数据.如何调用此功能以便我可以阅读它.或者我该如何定义它?
非常感谢.
Boz*_*zho 133
它被称为varargs.
它允许方法接受任意数量的参数.它们可以作为方法中的数组访问:
public void foo(String... args) {
for (String arg : args) {
// do smth with arg.
}
}
Run Code Online (Sandbox Code Playgroud)
这是语法糖.编译器隐藏了数组创建,因此不是
bar.foo(new String[] {"1", "2", "3"});
Run Code Online (Sandbox Code Playgroud)
你写
bar.foo("1", "2", "3");
Run Code Online (Sandbox Code Playgroud)
nic*_*ank 10
要添加Bozho的答案,您还可以在varargs之前在方法中使用其他参数:
// 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 + "|");
}
}
Run Code Online (Sandbox Code Playgroud)
但是,之后您不能拥有其他类型的参数.这些不起作用:
public void bar(String... b, int b);
public void foo(int a, String... b, int b);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55812 次 |
| 最近记录: |