好吧,這是我得到了什麼:空指針訪問:可變數據只能空在這個位置
String[] data = null;
String[] data2 = null;
String[] datas = res.split("(s1)");
int i1 = 0;
int i2 = 0;
for(String datasx : datas)
{
i1++;
String[] datas2 = datasx.split("(s2)");
for(String datas2x : datas2)
{
String[] odcinek = datas2x.split("(s3)");
data[i2] = odcinek[1] + "////" + odcinek[2] + "////" + odcinek[6];
i2++;
}
}
而且它不工作。在這條線的應用程序崩潰:
data[i2] = odcinek[1] + "////" + odcinek[2] + "////" + odcinek[6];
事實上,Eclipse的給我就可以瞭如下警告:
空指針訪問:可變數據只能空在這個位置
但我不知道有什麼問題。任何人都可以幫忙嗎?謝謝。
'data'數組被初始化爲'null',它永遠不會被賦值爲其他值。數組本身是空的,所以你不能爲該數組中的成員賦值,如:'data [i2] = ...' – 2012-04-22 13:51:39
這裏的問題不是NPE本身,而是你需要學會檢查通過回溯代碼並查看每個變量已初始化的位置,只要通過NPE就可以導致NPE的所有變量。做這個反應,下一次,答案應該對你很明顯。我在下面刪除了我的答案,以幫助減少「回答混亂」。 – 2012-04-22 13:59:09
同一主題:http://stackoverflow.com/questions/4909903/和http://stackoverflow.com/questions/20035122/ – 2016-09-11 14:09:02