规定可变参数必须位于形参中的最后,是为了避免歧义。
如果没有对他的位置进行规定,那么会出现一个函数有多个可变参数的情况
比如(这里是错误的代码):
public void multiply(int...a,int...b){
int num1 = 1;
for(int item:a){
num*=item;
}
int num2 = 1;
for(int item:b){
num2*=item;
}
System.out.println(num1+num2);
}
调用multiply(1,2,3);
会输出两种结果:
1*2+3=5;
1+2*3=7;
这不是我们所希望的,为了避免出现歧义,规定了可变参数必须位于参数列表的最后(这样的规定使得一个函数也只能有一个可变参数)。