在进行类中方法的设计的时候,我们有的时候很难做到能像某些系统函数调用,例如sum(1,2)的样式来计算出结果。那么在这种情况下使用可变参数对输入的数据简化,从而达到更类似于系统调用的方法。使函数调用看起来更加简洁明了。
下面通过一个简单的例子来了解可变参数的使用:
对任意给定个数的整数,计算其和并输出
class ArraySum{
public static int sum(int [] arr) { //使用静态方法,可以使类在未创建实例化对象时就可以直接调用
int sum=0;
for(int temp:arr) {
sum+=temp;
}
return sum; //数组求和
}
}
public class TestDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(ArraySum.sum(new int[] {1,2,3,4,5})); //静态方法的调用实例,为方法传递一个数组
}
}
但是我们有的时候总感觉这样写出来的方法在调用时,需要的步骤太多。即在方法的调用时还要为方法重新定义一个数组并传递。为此,我们使用可变参数,在JDK1.5之后,为了方便开发者,JDK官方专门增设可变参数,解决了这一繁琐的问题。
例如将上面代码修改后为:
class ArraySum{
public static int sum(int ... arr) { //使用静态方法,可以使类在未创建实例化对象时就可以直接调用
int sum=0;
for(int temp:arr) {
sum+=temp;
}
return sum; //数组求和
}
}
public class TestDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(ArraySum.sum(1,2,3,4,5)); //静态方法的调用实例,为方法传递一个数组
}
}
跟明显,在使用了可变参数之后。类方法的调用显得更加简洁明了,在功能上还是实现了相同的效果。