所以 - 我想使泛型列表的二維數組包含一些數據我感興趣的(對某些設定尺寸的網格),製作泛型列表的二維數組在Java中
private ArrayList<MyDataStruct>[][] gridData;
當我初始化這個數組,我去,
gridData = (ArrayList<MyDataStruct>[][])new ArrayList[w][h];
for(int x=0; x<w; x++)
for(int y=0; y<h; y++){
gridData[x][y] = (ArrayList<MyDataStruct>)new ArrayList<MyDataStruct>(0);
//other stuff, i.e. get data from somewhere, etc
}
我得到一個unchecked cast
警告。很好奇爲什麼這不是類型安全的,我可以做些什麼來使它安全(缺少使用二維數組)。我明白,混合數組和泛型不是很好,但在這種情況下,我只是寫這個來運行一些實驗,所以我使用它而不是列表列表來列出清單列表來節省我一些時間。還有沒有其他更優雅的方法可以讓我輕鬆讀/寫語法(即沒有嵌套列表),但也是類型安全的?
謝謝!
@assylias:因爲不編譯。差遠了。泛型和數組在Java中不能像那樣工作。 – 2012-03-31 19:49:55