在编写方法时,会遇到参数个数不确定的情况,大多时候会采用重载来解决,如:
public int method(int i);
public int method(int i,int j);
public int method(int i,int j);
当参数个数太多就会很繁琐,拓展也很麻烦,于是使用数组作为参数:
public int method(int[] array);
可是还得定义一个数组,还是很麻烦,这时就可以定义一个参数可变的方法:
- 既可以接收多个实参,也可以接收一个数组作为实参
- 定义参数个数可变的形参时,需要在最后一个形参变量与数据类型之间添加一个省略号"..."
public int method(int ... value);
public int method(int i,int ... value);
public int method(int i,int j,int ... value);
- 一个方法只能定义一个形参个数可变的参数,并且该参数只能作为最后一个参数使用
- 为参数可变的参数传递实参时,既可以传递用逗号隔开的多个实参,也可以传递一个数组作为实参