有人能告诉我一个实际使用...数组方法的演化吗?它只是一种声明可选参数而不是传递空值的方法吗?
public void add(int a, int... b) {
// do something
}
add(1);
add(1,2,3);
Run Code Online (Sandbox Code Playgroud)
mip*_*adi 11
String.format是一个很好的实际例子.该方法不知道格式字符串中将出现多少格式化程序,因此它接受可变数量的参数,并且应该将格式化程序(格式字符串)与传递给方法的对象进行一对一映射.
它不是一种声明选项参数而不是null的方式,因为它是声明一个可以处理多个参数的方法.基于我的例子,你可以编写一个sum方法,它接受可变数量的参数并将它们汇总在一起:
public int sum(int... ns)
{
int sum = 0;
for (int n : ns) {
sum += n;
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
这样,根据您当时的需要,您可以将2,3,4或甚至100个数字传递给总和.
| 归档时间: |
|
| 查看次数: |
18817 次 |
| 最近记录: |