使用 Varargs 参数

使用 varargs 作为方法定义的参数,可以传递数组或参数序列。如果传递了一系列参数,它们将自动转换为数组。

此示例显示了一个数组和一系列参数传递到 printVarArgArray() 方法,以及它们在方法内的代码中如何被相同地处理:

public class VarArgs {
    
    // this method will print the entire contents of the parameter passed in
    
    void printVarArgArray(int... x) {
        for (int i = 0; i < x.length; i++) {
            System.out.print(x[i] + ",");
        }
    }
    
    public static void main(String args[]) {
        VarArgs obj = new VarArgs();
        
        //Using an array:
        int[] testArray = new int[]{10, 20};
        obj.printVarArgArray(testArray); 
       
        System.out.println(" ");
        
        //Using a sequence of arguments
        obj.printVarArgArray(5, 6, 5, 8, 6, 31);
    }
}

输出:

10,20, 
5,6,5,8,6,31

如果你定义这样的方法,它将给出编译时错误

void method(String... a, int... b , int c){} //Compile time error (multiple varargs )

void method(int... a, String b){} //Compile time error (varargs must be the last argument