開發(fā)中常遇到到的問題一:java.lang.NullPointerException

不管是剛出來工作的還是出來工作一段時(shí)間的碼農(nóng),都會(huì)與到各種各樣的崩潰,這其中最常見的就是NullPointerException了,這里我進(jìn)行講解下NullPointerException的怎么出生的。

當(dāng)應(yīng)用程序試圖在需要對象的地方使用 null 時(shí),拋出該異常。這種情況包括:

1、調(diào)用 null 對象的實(shí)例方法:

比如有個(gè)對象User對象:

class User{

private String name;

private String sex;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

}

在使用過程中只是定義了對象User,沒有進(jìn)行實(shí)例化就去獲取對象里的name或sex,就會(huì)報(bào)NullPointerException;

User user;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//user = new User();//這里實(shí)例化

user.getName();

}

2、如果一個(gè)數(shù)組為null,試圖用屬性length獲得其長度時(shí)或直接取里面的數(shù)組里面的值

private String[] data;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

if(data.length>0){ //這里就會(huì)空指針報(bào)錯(cuò)

}

data[0] = "李四"; //這里就會(huì)空指針報(bào)錯(cuò)

}

3、在需要拋出一個(gè)異常對象,而該對象為 null 時(shí)

static MyException e;

public static void main(String args[]){

throw e; //這里就會(huì)空指針報(bào)錯(cuò)}

結(jié)束語:

本人是Android開發(fā)人員,在Android開發(fā)中還是會(huì)有其它情況會(huì)報(bào)NullPointerException,這一系列的NullPointerException就是因?yàn)樵谑褂眠^程中沒有去初始化獲取該對象已為空;在開發(fā)過程中需要謹(jǐn)慎,本人的想法是多做一個(gè)為空判斷也好比程序崩潰的好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 6,554評論 0 17
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,839評論 0 11
  • 每個(gè)人都希望在某個(gè)領(lǐng)域成為高手;但是現(xiàn)實(shí)的情況卻是,很多人的努力卻付諸東流,不能產(chǎn)生理想的結(jié)果。學(xué)習(xí)《躍遷》這本書...
    徐君寶閱讀 534評論 0 1