2014-10-19 81 views
0

我想澄清一些事情。這是我的代碼:Java泛型與列表

List<GameObject>[] dynamicCells;      //1 
List<GameObject>[] staticCells;      //2 

dynamicCells = new List[numCells];     //3 
staticCells = new List[numCells];      //4 

for (int i = 0; i < numCells; i++) { 
    dynamicCells[i] = new ArrayList<GameObject>(10); //5 
    staticCells[i] = new ArrayList<GameObject>(10); //6 
} 

在第一步和第二步,我創建的GameObject列表引用一個「空」陣列。 在第三步和第四步中,我爲一個List數組分配內存,並返回其地址引用。在第5,6步中,我創建了一個新的ArrayList參考,我在列表中分配了GameObject

因此,最後我剩下一個列表引用數組,每個列表引用都包含遊戲對象的ArrayList。這是正確的嗎 ?有沒有更好的方法來解釋這一點?

+1

這是正確的。每個變量都是一個List列表對象的數組。 – SamTebbs33 2014-10-19 14:09:23

回答

2

1和2是變量聲明,在那裏沒有創建任何東西。

3和4創建數組並將它們分配給變量(在進程分配內存中,但僅用於對象引用數組)。

5和6創建分配給數組中位置的新的空泛型列表列表。

+0

感謝您的回答,正如我所說我很困惑,但現在我確信:) – KostasRim 2014-10-19 14:24:23