Java-物件陣列空指標異常問題
阿新 • • 發佈:2019-02-12
最近寫了一個功能介面,根據 “前臺需求” 採用了物件陣列來儲存資料,但是debug除錯時總是在利用物件陣列中的每一個元素插入資料時報錯,報空指標異常,經過請教,弄懂了這個問題,記錄下來。
package entity;
//Result實體類
public class Result {
private int changeScore;
private UserLj userLj;
get/set方法省略...
}
package entity;
//UserLj實體類
public class UserLj {
private String userId; //使用者ID
private String nickname; //使用者暱稱
private String headUrl; //使用者頭像Url
private String extendId; //推廣ID
private String parentExtendId; //上級推廣ID,沒有為空字串
private int cardCount; //房卡數量
private int score; //分數
private int winScore; //贏分數
get /set方法省略...
}
//宣告物件陣列
Result[] resultPlayer = new Result[playerIds.length];
//在一個迴圈中呼叫了賦值方法,但是一直出錯,debug除錯發現是“resultPlayer[i]空指標異常” 也就是沒有取到值。
resultPlayer[i].setUserLj(userlj);
resultPlayer[i].setChangeScore(changeScore);
//請教別人後 發現是這段程式碼,只能算是建立了這樣的物件陣列,而裡面的每一個元素(物件)還沒有賦值,都是null,下面再呼叫時 自然是空指標異常報錯!
Result[] resultPlayer = new Result[playerIds.length];
//加了個迴圈賦值後就OK了!
for(int n=0;n<4;n++){
resultPlayer[n]=new Result();
}