[英]Multi-Dimensional Array Issue Java
每當我將兩個1-d數組作為參數傳遞給2-d數組時,它都工作正常,但是當我嘗試將三個1-d數組傳遞給3-d數組參數方法時,它給出了錯誤,但同樣起作用當我將三個1維數組傳遞給2維數組時。
這種行為背后的原因是什么?
將兩個一維數組轉換為一個二維方法:-
int[] c=new int[] {4,50};
m1(new int[]{10,20},c);
public static void m1(int[]... a)]
三個1-d數組到3-d方法:- ,錯誤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)
三個1維數組到2維數組:-
int[] c=new int[] {4,50};
m1(new int[]{10,20},c,new int[] {4,50});
}
public static void m1(int[]... a)
省略號(...)只是一個數組。
int[]...a <=> int[][] a
int[][]...a <=> int[][][] a
在第二個示例中,m1方法等待3d數組或2d數組的列表,但是您使用1d數組的列表調用它
好的電話是:
m1(new int[][], new int[][] , ...)
在m1方法中,arg為int [] [] []類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.