- 可变参数列表作为参数,方法调用时可以传入0个或多个参数,传入数组也可以。数组作为方法参数,方法调用时只能传入数组。
如:已知求和的方法
如下的方法调用形式都是正确的:
如果方法参数变为数组,如下所示:
那么可以看到,除了数组作为参数,其他三个方法调用都有报错
2.可变参数列表作为方法参数时,如果有多个参数,可变参数列表只能放到最后一个位置,而且不能有多个可变参数列表作为方法参数。而数组没有这个限制。
关于可变参数作为方法参数,下面的方法定义形式都是错误的:
public void method(int… m,int… n) {}//不能有多个可变参数作为方法参数
public void method(int… m,int n) {}//可变参数应该放到参数列表的最后
3.可变参数的底层实现就是数组。
4.当传入方法的参数数量不确定的时候,可以考虑使用可变参数列表。
5.可变参数列表作为方法参数的重载问题
可变参数列表所在的方法是最后被访问的。