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

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

當應用程序試圖在需要對象的地方使用 null 時,拋出該異常。這種情況包括:

1、調用 null 對象的實例方法:

比如有個對象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,沒有進行實例化就去獲取對象里的name或sex,就會報NullPointerException;

User user;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

user.getName();

}

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

private String[] data;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

if(data.length>0){ //這里就會空指針報錯

}

data[0] = "李四"; //這里就會空指針報錯

}

3、在需要拋出一個異常對象,而該對象為 null 時

static MyException e;

public static void main(String args[]){

throw e; //這里就會空指針報錯}

結束語:

本人是Android開發(fā)人員,在Android開發(fā)中還是會有其它情況會報NullPointerException,這一系列的NullPointerException就是因為在使用過程中沒有去初始化獲取該對象已為空;在開發(fā)過程中需要謹慎,本人的想法是多做一個為空判斷也好比程序崩潰的好

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

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

友情鏈接更多精彩內容