public class JT {
private static ArrayList<ArrayList<ItemInfo>> mAllItemLists;
private static ArrayList<ItemInfo> mAllItemList;
public static void main(String[] args){
mAllItemLists = new ArrayList<ArrayList<ItemInfo>>();
for(int i = 0; i<3; i++){
mAllItemList = new ArrayList<ItemInfo>();
mAllItemLists.add(mAllItemList);
}
for(int j = 0; j<38; j++){
ItemInfo ii = new ItemInfo();
if(j<16)
ii.cellX = 0 ;
else
ii.cellX = 1;
ii.cellY = 0 + j;
ii.spanX = 1;
ii.spanY = 1;
mAllItemLists.get(j/16).add(ii);
}
for(int k = 0; k<mAllItemLists.size(); k++){
System.out.println(mAllItemLists.get(k).size());
for(int kk = 0; kk<mAllItemLists.get(k).size(); kk++){
System.out.println(mAllItemLists.get(k).get(kk).toString());
}
}
System.out.println("--------------------");
for(int x = 0; x < mAllItemList.size(); x++){
System.out.println(mAllItemList.get(x).toString());
}
}
}
关于Java的new 操作,实例变量应该看成是指针,指向一个创建的对象,如mAllItemList 。创建了3次对象,每次都将对象地址赋给mAllItemList ,然后保存在mAllItemLists 中。 当打印mAllItemList 的值时,发现就是mAllItemLists的第3个对象中的数据。
Item(cellX=0 cellY=0)
Item(cellX=0 cellY=1)
Item(cellX=0 cellY=2)
Item(cellX=0 cellY=3)
Item(cellX=0 cellY=4)
Item(cellX=0 cellY=5)
Item(cellX=0 cellY=6)
Item(cellX=0 cellY=7)
Item(cellX=0 cellY=8)
Item(cellX=0 cellY=9)
Item(cellX=0 cellY=10)
Item(cellX=0 cellY=11)
Item(cellX=0 cellY=12)
Item(cellX=0 cellY=13)
Item(cellX=0 cellY=14)
Item(cellX=0 cellY=15)
16
Item(cellX=1 cellY=16)
Item(cellX=1 cellY=17)
Item(cellX=1 cellY=18)
Item(cellX=1 cellY=19)
Item(cellX=1 cellY=20)
Item(cellX=1 cellY=21)
Item(cellX=1 cellY=22)
Item(cellX=1 cellY=23)
Item(cellX=1 cellY=24)
Item(cellX=1 cellY=25)
Item(cellX=1 cellY=26)
Item(cellX=1 cellY=27)
Item(cellX=1 cellY=28)
Item(cellX=1 cellY=29)
Item(cellX=1 cellY=30)
Item(cellX=1 cellY=31)
6
Item(cellX=1 cellY=32)
Item(cellX=1 cellY=33)
Item(cellX=1 cellY=34)
Item(cellX=1 cellY=35)
Item(cellX=1 cellY=36)
Item(cellX=1 cellY=37)
--------------------
Item(cellX=1 cellY=32)
Item(cellX=1 cellY=33)
Item(cellX=1 cellY=34)
Item(cellX=1 cellY=35)
Item(cellX=1 cellY=36)
Item(cellX=1 cellY=37)