2011-03-06 122 views
0
java.lang.NullPointerException 
    at java.lang.Integer.compareTo(Unknown Source) 
    at java.lang.Integer.compareTo(Unknown Source) 

我稍微編輯了我的代碼,刪除了沒有方法,但更改了一個或兩個的名稱,現在...繁榮!沒有用!所以很煩,因爲我剛剛開始工作,回過頭去評論它,現在我看不到有什麼改變......幫助? :)有人可以解釋這個錯誤意味着什麼嗎?

+2

請分享您的代碼。 – 2011-03-06 21:14:21

+0

沒有代碼沒有什麼人可以告訴 – matcheek 2011-03-06 21:15:07

+0

沒有看到代碼很難找出問題,但[這裏是一個Javadoc for NullPointerException](http://download.oracle.com/javase/1.4.2/docs /api/java/lang/NullPointerException.html)解釋它引發的情況。在重命名過程中,您可能錯過了某些內容,並且未能爲應該保存Integer的變量賦值,並且您稍後將其進行比較。 – samplebias 2011-03-06 21:15:46

回答

4

你可能會試圖做這樣的事情:

Integer i = null; 
Integer j = 42; 
i.compareTo(j); // throws NullPointerException since i is null 

或本:

Integer i = 21; 
Integer j = null; 
i.compareTo(j); // throws NullPointerException since j is null 

,但你還沒有表現出任何代碼。

0

docs

當應用程序試圖使用 在無效的情況下,其目的在於需要 拋出。其中包括:

  • 調用空對象的實例方法。
  • 訪問或修改空對象的字段。
  • 將null的長度當作數組。
  • 訪問或修改null的插槽,就好像它是一個數組。
  • 將null拋出,就像它是Throwable值一樣。

應用程序應該拋出此類的實例 來指示其他非法對象 的使用。

您一定會遇到這些情況之一。在更高層次上,您可能會調用一個函數(此處爲compareTo()),並使用null參數,然後導致函數中出現NullPointerException。

也許你有一個TreeMap,並在地圖中插入一個null?

0

你確定當你改變你的方法的名稱時,你改變它的位置嗎?有可能是空指針異常,你有一個不正確的類型或拼寫的名字。它看起來像是在試圖比較兩個整數,並且有可能發出這些整數之一的方法不再被正確調用。務必確保仔細檢查。

0

在你的IDE中放置一個斷點,看看那個行是空的。從那裏它將是一個簡單的修復。

相關問題