引入
可变参数的特征在Java 5中引入,可以提供参数可变的方法,称为“变参”(varargs)方法,可变参数属于Java的语法糖之一,底层基于数组实现。
定义方法
可变参数的写法如下所示
public int function(int normal, int... change)
这里的省略号. . .是Java代码的一部分,它表明这个方法可以接受任意数量的对象。
有以下几点需要注意
- 可变参数只能作为函数的最后一个参数
- 可变参数前可以添加普通参数
- 可变参数会被编译器转为一个数组
使用
前面提到,可变参数本质是数组实现,所以说可以用操作数组的方法来操作可变参数,如下所示
public int function(int normal, int... change) {
for (int i : change) {
System.out.println(i);
}
return normal;
}
同时,在调用方法的时候,以下两种形式都是可以的,不过在某些编译器中,会给出冗余数组创建的警告
function(1, 1, 2, 3);
function(1, new int[]{1, 2, 3});