1、一个小例子:
为了比较直观地说明Java的可变参数方法,我们举个例子:
//求若干个整型数中的最大值
public int getMax(int... items){ //定义可变参数items
int max = Integer.MIN_VALUE;
for(int item : items){
max = item > max? item : max; //取大值
}
return max;
}
示例中getMax()方法的参数定义是int…items,表明该方法是一个可变参数方法,因此我们调用该方法时可以传入多个参数,从而求出这些数中的最大值。
2、使用可变参数方法需要注意什么?
- 如果该方法除了可变参数还有其它的参数,可变参数必须放到最后;
- 调用使用了可变参数的方法时:
a. 可以不写参数,即传入空参;
b. 可以直接在里边写入参数,参数间用逗号隔开;
c. 可以传入一个数组; - 拥有可变参数的方法可以被重载,在被调用时,如果能匹配到参数定长的方法则优先调用参数定长的方法。
- 可变参数可以兼容数组参数,但数组参数无法兼容可变参数,所以试图使用数组作为参数去实现重载时,会报错,说明可变参数与数组冲突