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 没有指向任何空间 你调用它的方法和属性就会出错