由於空指針異常導致我的程序崩潰。堆棧跟蹤的類聲明導致空指針異常
剪斷:
java.lang.NullPointerException
at com.my.GRTRecTimeSortComparator.compare(SourceFile:15)
那當然好。但我的問題是,第15行是類聲明:
15 public class GRTRecTimeSortComparator implements Comparator<GRTRecord> {
16 @Override
17 public int compare(GRTRecord rec1, GRTRecord rec2) {
18
19 int returnVal=rec1.getRecordCalendar().compareTo(rec2.getRecordCalendar());
20 return returnVal;
21 }
22}
它呼喚出來的功能比較全,但我不覺得這有是問題。每條記錄都有一個唯一的日曆分配給它。
任何想法?我在這裏做錯了什麼?
編輯:在響應查詢:
沒有,沒有什麼奇怪的類本身,除了我寫的事實。
我正在使用Proguard。也許混淆是不正確的取代東西?
我正在爲記錄編寫測試。他們不應該是null
,也不應該Calendars
;我之前立即使用它們,並取得良好效果。
也許我只是錯誤地通過了ArrayList
。
編輯2:
插入類的日誌行永遠不會運行。 無論我對類添加或做什麼,空指針總是會解析爲類聲明行。
刪除了Proguard混淆,但仍然沒有骰子。
我真的很沮喪。
編輯3:
對於未來用戶:
Proguard的廢墟您的堆棧跟蹤。這是上述的原因。如果遇到問題,請移除proguard。
原因實際上是數據集中的損壞記錄。
很可能,您正在閱讀的源代碼與編譯代碼中的堆棧跟蹤不同步。嘗試從乾淨的建築,然後重新運行。 – 2012-03-27 16:27:18