2D陣列如果我聲明的2D陣列,例如:初始化在JAVA
int[][] numbers = new int[5][];
我想你必須單獨地聲明/初始化各5爲int []? 比如,以前我分配一個值數[0] [1],我不得不說:
我寫了一個小程序,並明確提出一個價值數[0] [1]運行它,它沒有初始化數字[0]。 我完全不認爲單個數組必須先在2d數組中初始化?
編輯:我的誤解是在初始化。前兩條語句沒問題,因爲我聲明瞭goodArray中每個int []的長度爲3,這會導致它們全部被初始化。而在badArray聲明,我只是宣佈有多少陣列有(3),所以我得到一個NPE:
int [][]goodArray = new int[3][3];
goodArray[0][1] = 2;
int[][] badArray = new int[3][];
badArray[0][0] = 2;
這不應該工作,它會拋出一個NPE,當我嘗試。你可以發佈一個簡短但完整的程序來證明這一點嗎? –
這樣你可以做不同大小的數組,例如'numbers [0] = new int [5]'和'numbers [1] = new int [7]' – nachokk