我正在使用java。此代碼的第二行獲取空指針異常。爲什麼我在這裏得到一個空指針異常?
double gpa = 0.0;
gpa = grads[index].calculateGPA();
return gpa;
grads是一個Graduate對象的數組。我已經在JUnitTest中測試了這個方法,它工作正常。我也測試了calculateGPA()。只有當我運行程序時出現錯誤。
我正在使用java。此代碼的第二行獲取空指針異常。爲什麼我在這裏得到一個空指針異常?
double gpa = 0.0;
gpa = grads[index].calculateGPA();
return gpa;
grads是一個Graduate對象的數組。我已經在JUnitTest中測試了這個方法,它工作正常。我也測試了calculateGPA()。只有當我運行程序時出現錯誤。
的錯誤可能是由下列可能性中的一種引起:
grads
是null
。index
是null
。grads[index]
是null
。calculateGPA()
正在引發空指針異常。使用您的調試器來找出這些可能性中的哪一個,然後從中取出。
或者'grads'數組整體是'null'(未初始化)。 – Bernard 2012-04-12 15:40:39
或'index'是一個'Integer'並且爲空。 – 2012-04-12 15:53:54
好吧,我們現在最多有4名候選人。任何提前4?! ;-) – 2012-04-12 15:55:51
'grads'數組是如何初始化的? – Bernard 2012-04-12 15:41:05
當你得到異常時,你是否檢查過'index'和'grads [index]'的值,還是試圖在調試器中運行它? – Karlson 2012-04-12 15:41:05
如果你得到這樣的異常,你的第一步應該是添加'System.out.println(「grads is null:」+(grads == null)+「grads [index] is null:」+(grads [ index] == null));'在拋出異常之前的行上。 – Alderath 2012-04-12 15:43:23