2012-01-04 35 views
0

有誰知道如何解決此警告?未經檢查的多維數組列表轉換

MyMain.java:12: warning: [unchecked] unchecked conversion 
found : java.util.ArrayList[][] 
required: java.util.ArrayList<java.lang.String>[][] 
      obj[count].someArrayList = new ArrayList[4][4]; 

我試圖將其更改爲:

obj[count].someArrayList = new ArrayList<String>[4][4]; 

但該修正案改變了警告到以下錯誤:

MyMain.java:12: generic array creation 
      obj[count].someArrayList = new ArrayList<String>[4][4]; 

someArrayList的聲明是:

public ArrayList<String>[][] someArrayList; 
+0

可能重複:// stackoverflow.com/questions/217065/cannot-create-an-array-of-linkedlists-in-java) – 2012-01-04 04:21:48

回答

1

你不能創建數組與泛型(因此錯誤)。該警告表示極力勸阻使用ArrayList的原始類型。

相反,下面創建一個多維ArrayList

public ArrayList<ArrayList<String>> someArrayList;

然後,您可以在您的多維ArrayList執行正常操作。

obj[count].someArrayList = new ArrayList<ArrayList<String>>(); 
ArrayList<String> toAdd = new ArrayList<String>(); 
toAdd.add("test"); 
toAdd.add("test2"); 
obj[count].someArrayList.add(toAdd); 
0

只申報了多維數組的ArrayList就像這樣:

@SuppressWarnings("unchecked") 
ArrayList<String>[][] someArrayList = new ArrayList[4][4]; 
someArrayList[0][0] = new ArrayList<String>(); 
someArrayList[0][1] = new ArrayList<String>(); 
.... 
.... 
的[無法使用Java創建... LinkedLists的陣列?(HTTP