2012-08-25 64 views
4

java中這兩個數組聲明語法之間有什麼區別嗎?int [] variableName;和int variableName [];

int[] variableName; 

int variableName[]; 

哪一個是優選的?

+3

第一個是一致性的首選。類型信息也不像後者那樣分散。如果沒有附加到基本類型,很容易錯過[]。 – egaga

+0

沒有功能差異。唯一的區別是如果一個編碼者比另一個更好理解。 –

回答

13

儘管兩種語法都是相同的,但int[] variableName;語法是首選。允許使用int variableName[];語法只是爲了讓所有C/C++程序員都能夠輕鬆轉換到Java。

有人會認爲int[] x明確指出整數數組爲x的類型,而在int x[]的實際類型是兩個部分,一個前和x可變後的其它分裂,閱讀等整數是變量x的類型是一個數組,使聲明變得不可讀,並可能使新手感到困惑。

int x[][][]; 
int[] x[][]; 
int[][] x[]; 
int[][][] x; // this one is the easiest to read! 

還要注意,相同的考慮適用於所有這些有效的,等效方法聲明(:

如果陣列具有更多維度,例如,所有這些聲明的是等價的和有效的可讀性問題加劇返回類型是在所有情況下是相同的) - 但再次,最後一個是簡單閱讀:

int m() [][][] {return null;} 
int[] m() [][] {return null;} 
int[][] m() [] {return null;} 
int[][][] m() {return null;} // this one is the easiest to read! 
0

它們都表示相同的東西,所以句法上沒有差別。但是,我看到開發人員使用其中一種或另一種。

0

,因爲它是更加明確,我會用INT []變種。它告訴讀者它是一個int數組。如果在變量名旁邊有[],用戶需要掃描該行以查看該數組的類型。我個人(和大多數Java程序員,我知道)使用int []

1

如前所述,他們都是相同的,第一個是首選。我想補充一點,與各自使用情況保持一致也很重要。如果您更改使用其中一個的代碼庫,請使用相同的約定。

1

它們在語義上是相同的。 int variablename []語法僅用於幫助C程序員習慣java。

int []變量名稱更可取,並且不那麼令人困惑。

See Here

0

所不同的是概念上的,供人閱讀。它們定義了同樣的事情,但

int[] variableName保持相比之下variableName一致的類型

int variableName[],其中,有表示,數組變量是int類型。

4

,其中後綴語法是至關重要的是一個非常非必要的情況下使用的唯一情況:

class ArrayShowcase { 
    private int i, ints[], intints[][]; 
} 

我們需要這樣的聲明?那麼,我想我們可以沒有他們。我從來沒有用過我在專業carreer中編寫的數十萬行代碼。

相關問題