如果说现在要求定义一个方法,这个方法可以实现任意多个整形数据的相加处理。这个的情况下最早的时候只能够通过数组来进行处理。
范例:传统实现操作
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}));
}
}
可变参数的最大作用在于,在以后进行一些程序类设计或者开发者调用的时候,利用此种形式就可以避免数组的传递操作了,可变参数的本质需要清楚的是:依然属于数组。