Java 可变参数

Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。

 

public class VariableParameter {

    public static void main(String[] args) {
        
        //使用可变参数
        System.out.println(add(2,3));
        System.out.println(add(2,3,4));
        
        //使用数组方式
        int[] x1=new int[]{2,3};
        int[] x2=new int[]{2,3,4};
        System.out.println(add2(x1));
        System.out.println(add2(x2));
    }
    
    /*
     *1  只能出现在参数列表的最后; 
     *2 ...位于变量类型和变量名之间;
     *3  调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
     *4 参数的类型必须保持一致
    */
    public static int add(int x,int ... args){
        int sum=x;
        for(int i=0;i<args.length;i++){
            sum+=args[i];
        }
        return sum;
    }
    //传入数组参数
    public static int add2(int[] args){
        int sum=0;
        for(int i=0;i<args.length;i++){
            sum+=args[i];
        }
        return sum;
        
    }
}
View Code

 

 

posted @ 2013-08-03 21:17  徒徒的实验室  阅读(438)  评论(0编辑  收藏  举报