Java 在varargs参数中传递两个数组变量时,for-each如何工作?

Java 在varargs参数中传递两个数组变量时,for-each如何工作?,java,Java,在运行这段代码时,我得到了一个输出14。但我无法理解for each循环是如何在两个数组变量上工作的,这两个数组变量传入一个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

在运行这段代码时,我得到了一个输出14。但我无法理解for each循环是如何在两个数组变量上工作的,这两个数组变量传入一个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]);
    }
}
省略号的意思是“接受任意数量的参数,并将它们以数组形式提供给我”

所以

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


当您迭代一个
int[]]
时,每个元素的类型都是
int[]
,一个
int

int[].
数组将转换为
int[]
void go(int[]... x)