<JDK1.5新特性>:4.可变参数-
可变参数使程序员可以声明一个可以接受可变数目参数的方法。
注意:可变参数必须是方法声明中的最后一个参数,否则会发生编译错误,因此一个方法的可变参数只可能有一个,而不可能存在两个以上的可变参数。
例1:
package cn.edu.bupt;
public class TestVarArgues {
private static int sum(int... nums) { //这里在类型名称后边加入3个点来表示当前参数的类型时int类型,但是参数的数目并不是固定的,传入几个就能使用几个
int sum = 0;
for(int i=0; i<nums.length; i++) {
sum += nums[i];
}
return sum;
}
public static void main(String[] args) {
int result = sum(1, 2, 3); //按照可变参数方式传递实参
System.out.println(result);
result = sum(new int[]{1, 2, 3, 4}); //按照数组方式传递实参
System.out.println(result);
}
}
注:在这里int... nums 在使用时等价于 int[] nums,即在本质上其就是一个相应类型的数组
,在调用该函数传递参数的时候,既可以按照可变参数的方式传递信息,如:sum(1, 2, 3);
也可以将一个具体的数组对象传入到方法体内,如:sum(new int[]{1, 2, 3})。
可变参数与数组参数的不同之处是数组参数传递实参的时候只能使用数组对象传递而不能使用可变参数
方式传递,否则会发生编译错误。但是可变参数没有这种情况。
在函数代码中可以使用数组的访问方式来访问可变参数。
浙公网安备 33010602011771号