可能重複:
Difference between int[] array and int array[]int [] x;有什麼區別?和int x [];?
我確信,這個問題已經被問,只是題寫了書名找到它,但讓我吃驚的事實並非如此。我正在研究一個問題,並提出了這個問題。我試過這個:
int[] x = new int[1];
int y[] = new int[1];
x=y;
y=x;
和編譯器沒有給我一個錯誤。那麼這兩個聲明有什麼區別?
可能重複:
Difference between int[] array and int array[]int [] x;有什麼區別?和int x [];?
我確信,這個問題已經被問,只是題寫了書名找到它,但讓我吃驚的事實並非如此。我正在研究一個問題,並提出了這個問題。我試過這個:
int[] x = new int[1];
int y[] = new int[1];
x=y;
y=x;
和編譯器沒有給我一個錯誤。那麼這兩個聲明有什麼區別?
沒有區別。
這只是從C過渡到更簡單的語法糖。在Java int[] x
是首選(和推薦)符號。
沒有,這只是一個品味問題。有些人更喜歡把它放在聚合類型的旁邊(因爲覺得它是類型的一部分),另一些人則傾向於將它與變量名放在一起(因爲它更接近訪問語法)。
謝謝,我也這麼認爲,但必須確保。 – shift66
雖然每行定義多個變量(引用的部分已經提示),但它們有區別。即'int a [],b;'與'int [] a,b;'不一樣,這可能是意想不到的。 Imho最好不要使用第二個變體,因爲它可能會導致混淆。這實際上是來自C和iirc Bloch的遺產,或者後來說他遺憾地將其包含在語言中 - 但可能是錯誤的。 – Voo
@Voo:好的評論,我還沒有想到。雖然我通常不認爲在一行中聲明幾個變量是一個好主意,尤其是如果它們的類型與本示例中不一樣... –