2012-01-04 14 views
0

この警告の修正方法を知っている人はいますか?多次元arraylistのチェックされていない変換

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

可能重複します(http:// stackoverflow.com/questions/217065/cannot-create-an-array-of-linkedlists-in-java) –

答えて

1

アレイを作成できませんジェネリックで(したがってエラー)。この警告は、生タイプの使用を避けるために、ArrayListを使用することを強く示唆しています。

代わりに、以下では、多次元ArrayListを作成します。

public ArrayList<ArrayList<String>> someArrayList;

あなたは、あなたの多次元ArrayListに、通常の操作を行うことができます。 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

唯一の方法はこのようなものです:[?JavaでLinkedListsの配列を作成することはできません...]の

@SuppressWarnings("unchecked") 
ArrayList<String>[][] someArrayList = new ArrayList[4][4]; 
someArrayList[0][0] = new ArrayList<String>(); 
someArrayList[0][1] = new ArrayList<String>(); 
.... 
.... 
関連する問題