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