JAVA为什么会空指针异常

如题所述

1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-04
空指针异常产生的主要原因如下:
(1)当一个对象不存在时又调用其方法会产生异常obj.method() // obj对象不存在
(2)当访问或修改一个对象不存在的字段时会产生异常obj.method() // method方法不存在
(3)字符串变量未初始化;
(4)接口类型的对象没有用具体的类初始化,比如:
List lt;会报错
List lt = new ArrayList();则不会报错了
当一个对象的值为空时,你没有判断为空的情况。你可以试着把下面的代码前加一行代码:
if(rb!=null && rb!="")
改成:
if(rb==null);
if(rb!==null&&rb!="") 或者if((“”).equals(rb))

空指针的解决办法:
重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于设定的值之前。
相似回答