java.lang.NullPointerException
at java.lang.Integer.compareTo(Unknown Source)
at java.lang.Integer.compareTo(Unknown Source)
我稍微編輯了我的代碼,刪除了沒有方法,但更改了一個或兩個的名稱,現在...繁榮!沒有用!所以很煩,因爲我剛剛開始工作,回過頭去評論它,現在我看不到有什麼改變......幫助? :)有人可以解釋這個錯誤意味着什麼嗎?
java.lang.NullPointerException
at java.lang.Integer.compareTo(Unknown Source)
at java.lang.Integer.compareTo(Unknown Source)
我稍微編輯了我的代碼,刪除了沒有方法,但更改了一個或兩個的名稱,現在...繁榮!沒有用!所以很煩,因爲我剛剛開始工作,回過頭去評論它,現在我看不到有什麼改變......幫助? :)有人可以解釋這個錯誤意味着什麼嗎?
你可能會試圖做這樣的事情:
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
,但你還沒有表現出任何代碼。
從docs:
當應用程序試圖使用 在無效的情況下,其目的在於需要 拋出。其中包括:
- 調用空對象的實例方法。
- 訪問或修改空對象的字段。
- 將null的長度當作數組。
- 訪問或修改null的插槽,就好像它是一個數組。
- 將null拋出,就像它是Throwable值一樣。
應用程序應該拋出此類的實例 來指示其他非法對象 的使用。
您一定會遇到這些情況之一。在更高層次上,您可能會調用一個函數(此處爲compareTo()),並使用null參數,然後導致函數中出現NullPointerException。
也許你有一個TreeMap,並在地圖中插入一個null?
你確定當你改變你的方法的名稱時,你改變它的位置嗎?有可能是空指針異常,你有一個不正確的類型或拼寫的名字。它看起來像是在試圖比較兩個整數,並且有可能發出這些整數之一的方法不再被正確調用。務必確保仔細檢查。
在你的IDE中放置一個斷點,看看那個行是空的。從那裏它將是一個簡單的修復。
請分享您的代碼。 – 2011-03-06 21:14:21
沒有代碼沒有什麼人可以告訴 – matcheek 2011-03-06 21:15:07
沒有看到代碼很難找出問題,但[這裏是一個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