如果说现在要求定义一个方法,这个方法可以实现任意多个整型数据的相加处理。这样的情况下最早的时候只能够通过数组来进行处理。
class ArrayUtil{
public static int sum(int[] data){
int sum = 0;
for(int temp : data){
sum += temp;
}
return sum;
}
}
public class ArrayDemo {
public static void main(String args[]){
System.out.println(ArrayUtil.sum(new int[]{1,2,3}));
}
}
虽然以上的程序可以实现任意多个数字的参数内容传递,但是与实际的要求并不符合,实际要求的是可以传递任意多个参数,而不是一个数组。从JDK1.5开始为了方便开发者进行可变参数的定义,对于方法的参数提供有新的支持了。
范例:采用可变参数
class ArrayUtil{
public static int sum(int ... data){ //变种数组
int sum = 0;
for(int temp : data){
sum += temp;
}
return sum;
}
}
public class ArrayDemo {
public static void main(String args[]){
System.out.println(ArrayUtil.sum(1,2,3));
System.out.println(ArrayUtil.sum(new int[]{1,2,3}));
}
}
可变参数的最大作用在于,在以后进行一些程序类设计或者开发者调用的时候,利用此种形式就可以避免数组的传递操作了,可变参数的本质需要清楚的是:依然属于数组。