每当我将两个一维数组作为参数传递给一个二维数组时,它就工作得很好,但是当我试图将三个一维数组传递给一个三维数组参数方法时,它就会产生错误,但是当我将三个一维数组传递给二维数组时,同样的效果也会很好。
这种行为的原因是什么?
二维一维数组到二维方法:-
int[] c=new int[] {4,50};
m1(new int[]{10,20},c);
public static void m1(int[]... a)]三维一维数组到三维方法:-,error - The method m1(int[][]...) in the type Asd is not applicable for the arguments (int[], int[], int[])
int[] b=new int[] {3,50};
int[] c=new int[] {4,50};
m1(new int[]{10,20},c,new int[] {4,50});
public static void m1(int[][]... a)三个一维数组到二维数组:-
int[] c=new int[] {4,50};
m1(new int[]{10,20},c,new int[] {4,50});
}
public static void m1(int[]... a)发布于 2017-07-29 19:40:22
省略号(.)只是一个数组。
int[]...a <=> int[][] a
int[][]...a <=> int[][][] a在第二个例子中,m1方法等待一个3d数组或一个2d数组列表,但是您用一个一维数组列表来调用它
好消息是:
m1(new int[][], new int[][] , ...)在m1方法中,a arg是int[]类型的
https://stackoverflow.com/questions/45393283
复制相似问题