首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP 第 29 行空指針:List 為 null 或元素為 null 導致 alist.get(i) 拋 NPE

     編輯:程式設計綜合問答

錯誤堆疊指向 `for(int i=0;i

排查

  1. `List alist = db.list(sql);` 回傳 `null`(查無資料或 DAO 寫死 `return null`)。修正:DAO 回傳 `Collections.emptyList()`。
  2. `alist.get(i)` 取得的 `Map` 為 `null`,`get("num")` 拋 NPE。檢查 SQL 是否有 `NULL` 值行。
  3. `.toString()` 呼叫在 `null` 上。

修正建議


List> alist = db.list(sql);
if (alist == null) alist = Collections.emptyList();
for (int i=0; i row = alist.get(i);
    if (row == null) continue;
    Object numObj = row.get("num");
    if (numObj == null) continue;
    int temp = Integer.parseInt(numObj.toString());
    ...
}

開啟 IDE 斷點單步調試最快定位。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved