Java 空指針異常(java.lang.NullPointerException)

 Java 空指針異常(java.lang.NullPointerException),顧名思義,即對象沒有進行實例化便進行了使用。實例化的意義,就是將對象實例的地址賦值給對象符號。

  比如 String a = new String();即在堆中將String的實例構造後,將地址賦值給a。 String a = “123”;即將常量池中的“123”這個對象實例的地址賦值給a。

 

  引發空指針異常,往往是在獲取對象實例地址的時候,由於獲取的對象實例並不存在,因此返回的地址爲null,而又沒進行判斷,直接使用了該對象實例(地址)引發的。

  例如:

     String userName = request.getParameter("username");
    If (userName.equals("root"))
    {....}

  如果request中並不存在“username”字段,則自然getParameter返回的是null。而調用userName(爲null)的equals會拋出異常。


 又例如: Object obj = new Object();
     obj.equals("123");這個是沒錯的
 但換下面語句 Object obj = null;
     obj.equals("123");就會出現空指針異常
  如果你對null 進行操作就會產生空指針異常
  Object obj = new Object();
  你要知道 obj是一個Object指針變量,指向Object類的一個實例
  我們說obj是一個對象 實質是它指向一個對象的首地址 
如果這個指針變量obj 沒有指向任何空間 你調用它的方法和屬性就會出錯



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章