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 沒有指向任何空間 你調用它的方法和屬性就會出錯