2011-12-25 68 views
2

是否可以在同一行中聲明2個數組列表? 如:聲明多個數組列表

List<String> mm= new ArrayList<String>(); 
List<String> kk= new ArrayList<String>(); 

是否然後可以做這樣的事情:

List<String> mm,kk= new ArrayList<String>(); 

很顯然,我得到一個編譯錯誤,當我做以上,並想知道一個人如何能在申報2所列出同一條線。

+0

你的例子編譯得很好,但它只初始化'kk'。 – 2011-12-25 21:11:21

+1

如果我是一個測試人員或開發人員在查看你的代碼來定義kk的位置,我會發現你的第一個例子更清晰,更容易遵循。 – phatfingers 2011-12-25 21:21:33

回答

8

如果你想,你應該做的:

List<String> mm = new ArrayList<String>(), kk = new ArrayList<String>(); 
+0

謝謝fge ..解決了它! – AJW 2011-12-25 21:11:28

+0

詹姆斯,請不要忘記點擊答案旁邊的綠色刻度標記:)。 – Kos 2011-12-25 21:13:35

+0

已經做到了Kos :) – AJW 2011-12-25 21:30:00

7

簡而言之:是的,你可以在同一個表達式中使用2個變量。 List<String> mm,kk;正在聲明兩個列表。

請注意,操作kk = new ArrayList<String>();不是聲明,它是assigment

0

您可以在同一行聲明它們,但你不能對它們進行初始化。 所以

List<String> mm,kk; 

是可能的,但那麼你仍然要初始化它們

mm = new ArrayList<String>(); 
kk = new ArrayList<String>(); 
0

@fge寫什麼是正確的方式。但是要確保你沒有像一個單一的線對它們進行初始化:

mm = kk = new ArrayList<String>(); 

,因爲這會導致兩個指向同一個ArrayList對象名單,並會弄亂兩個列表。

這種單線初始化可以爲原始數據類型完成,但不能用於參考數據類型。