在varargs参数中传递两个数组变量时,每个如何工作?

时间:2014-09-03 19:02:45

标签: java

在运行此代码时,我得到了一个输出14.但是我无法理解每个循环如何处理传递单个varargs参数的两个数组变量。

public class Venus 
{
    public static void main(String[] args) 
    {
        int [] x = {1,2,3};
        int y[] = {4,5,6};
        new Venus().go(x,y);
    }

    void go(int[]... z) 
    {
        for(int[] a : z)
        System.out.print(a[0]);
    }
}

1 个答案:

答案 0 :(得分:2)

省略号表示"接受任意数量的参数并以数组形式提供给我#34;

所以

void go(int[]... x)

接受多个int[]参数并将它们放在int[]数组中,这意味着结果为int[][]

当您遍历int[][]时,每个元素的类型为int[],数组为int