2014-11-06 48 views
2

我試圖將一個字符串添加到數組列表中。如何將項添加到數組列表中

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2]; 
    test[0].add("Hello World!"); 

當執行上面的代碼時,會拋出一個空指針異常。任何想法如何可以工作?

回答

1

你的代碼是空pointering因爲陣「測試」只包含ArrayList類型的空引用。您的構建只創建陣列存儲,而不是列表存儲。這對理解很重要,對於任何對象(或集合的集合)都是一樣的。

例如下面將包含3個單元格,其中包含null。

Integer[] foo new Integer[3] 

您需要實例化一個列表,然後才能添加它。

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2]; 

test[0] = new ArrayList<String>(); 
test[0].add("Hello World!"); 
1

你正在使用錯誤的語法

它應該像這樣工作

ArrayList<String>[] arrayList = new ArrayList[2]; 
arrayList[0] = new ArrayList<String>(); 
arrayList[0].add("Hello World"); 
+0

問題是創建的ArrayList的 – Sangeeth 2014-11-06 06:56:44

0

那麼當您試圖添加到列表中的每個時間創建一個新的數組,

String[] test= new String[2];  
ArrayList<String[]> test= new ArrayList<String[]>();  
t2[0]="0"; 
t2[1]="0"; 
test.add(t2); 

在上面的示例中,您將test數組對象的引用傳遞給列表。每個方法.add()方法

或同樣的事情也可以在下面的方式在單個語句來完成,

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2]; 
test.add(new String[] {"0", "0"}); 

更新

如果你想創建的ArrayList已經看這裏的陣列,

Create an Array of Arraylists

+1

陣列不是問題 []不 Adam 2014-11-06 06:53:14

1

用於創建ArrayList數組。你必須做到以下幾點

ArrayList[] test = new ArrayList[2];// create array with all elements null 
    for(int i=0; i<2;i++) 
    { 
     test[i] = new ArrayList<String>(); // initialize each element with ArrayList object 
    } 
    test[0].add("Hello World!");