2016-04-10 18 views
1
için

dize atarken, array için dize atamaya çalıştığımda NullPointerException fırlattığım için kodumda bir sorun var.NullPointerException, ArrayList'ten Java Array

String[][] data = new String[idList.size()][]; 
for(int i = 1; i<=idList.size(); i++) { 
    data[i][0] = idList.get(i); 
    data[i][1] = nameList.get(i); 
    data[i][2] = hList.get(i); 
    data[i][3] = sList.get(i); 
    data[i][4] = fList.get(i); 
    data[i][5] = mList.get(i); 
    data[i][6] = osList.get(i); 
    data[i][7] = tsList.get(i); 
    data[i][8] = podList.get(i); 
    data[i][9] = pacList.get(i); 
} 

Birisi lütfen bunu nasıl düzeltebilir miyim?

+0

Hata ayıklayıcınızda 'veri [0]' null olduğunu görebileceksiniz. Onları başlatmanı öneririm. –

cevap

1

data[i] türe String[] ait idList.size()null referanslar içermesi data başlatıldı beri, null olduğunu.

değiştirme

String[][] data = new String[idList.size()][]; 

uzunluğu 10 (String[10]) içindeki bir String dizisine idList.size() referansları içeren data başlatılır

String[][] data = new String[idList.size()][10]; 

için.

0

I

new String[idList.size()][10]; // you have 10 different lists there... 

gibi bir şey için bu

new String[idList.size()][]; 

yerine sıfır baz ile döngüsü içinde yineleme (her iki boyutta) düzgün bir dizi tanımlamak için tavsiye ..

Örnek:

0
String[][] data = new String[idList.size()][10]; 
    for (int i = 0; i < idList.size(); i++) { 
     data[i][0] = idList.get(i); 
     data[i][1] = idList.get(i); 
     data[i][2] = idList.get(i); 
     data[i][3] = idList.get(i); 
    }