2012-07-13 75 views
3

爲什麼數組聲明錯誤在Java中

int arr[][]=new int[5][]; 

聲明是完全正常的,但

int arr[][]=new int[][5]  

產生編譯時錯誤?
請幫幫我。我無法理解這是爲什麼?

回答

10

int arr[][](更典型地寫爲int[][] arr)是一個數組,其中的每個元素都是對數組的引用。

​​將意味着「創建未知長度的數組,每個元素是對數組的引用,每個元素的長度都是5」。顯然,這沒有意義。

另一方面,new int[5][]的意思是「創建一個長度爲5的數組,其中的每個元素都是對數組的空引用」。