我現在面臨的問題是我把我的頭髮撕掉了好幾天了。正如你所看到的,我把printlns放在那裏,這樣我就可以檢查出錯的位置。在查看錶格中的數據之後,在最後一個數據段之後出現空指針異常。爲什麼我的代碼不會阻止它再次循環?NullpointerException數組和對象
public void prepare(int sheet, Students [] gradeSpecific, Students [] mcl)
{
String [] useableCandidates;
useableCandidates = new String [200];//school never has more than 40 candidates therefore 200 is more than enough
int i= 0;
if(sheet==1)
{
while(!gradeSpecific[i].getFirst_name().equals(null) && !gradeSpecific[i].getSurname().equals(null))
{
if(useableCandidates[i]==null)
{useableCandidates[i]= new String();}
System.out.println(gradeSpecific[i].getFirst_name()+gradeSpecific[i].getSurname());
useableCandidates[i]= gradeSpecific[i].getFirst_name()+" , "+gradeSpecific[i].getSurname();
System.out.println(useableCandidates[i]);
i++;
}
}
else
{
while(!mcl[i].getFirst_name().equals(null) || !mcl[i].getSurname().equals(null))
{
useableCandidates[i]= mcl[i].getFirst_name()+" , "+mcl[i].getSurname();
i++;
}
}
}
哪條線引發NPE?和'!mcl [i] .getSurname()。equals(null)''Object'永遠不是'null',它的引用使用'==' –
你確定'mcl'永遠不'null'嗎? –