我對下面2行有點困惑。對象聲明數組
MyClass myobj[];
myobj = new MyClass[numberVariable];
我希望在第1行是這樣的:
MyClass[] myobj;
但是代碼的作品並沒有錯誤。
是什麼解釋?
我對下面2行有點困惑。對象聲明數組
MyClass myobj[];
myobj = new MyClass[numberVariable];
我希望在第1行是這樣的:
MyClass[] myobj;
但是代碼的作品並沒有錯誤。
是什麼解釋?
作爲JLS狀態
的[]可能顯示爲在聲明的開頭所述類型的部分,或作爲說明符用於特定變量,或兩者的一部分。
因此,即使這是可能的
float[][] f[][], g[][][], h[];
這相當於
float[][][][] f;
float[][][][][] g;
float[][][] h;
,這是更具可讀性,不是嗎?
它變得更糟。 'public static int [] foo()[] {return new int [10] [10];}'也是有效的... – 2014-10-04 15:49:42
兩者在Java中都是有效的語法,但MyClass[] myobj
對我更有意義,因爲您聲明的是MyClass
類型的數組。
做同樣的事情的不同方式。 – Tirath 2014-10-04 15:33:28