在开发新闻客户端的过程中,经常会出现空指针的问题。空指针异常通常是不出现则以一出现就有惊人的破坏力。因为自己水平有限,想着以后的开发过程中也会有遗漏的地方,所以特来总结一下经常出现的问题。
下面举例说明:(并解释何为空指针异常)
1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。
2.所谓的空指针,就是指针的内容为null,比如上面的s,如果令它指向null,就是空指针。
3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
原因:
1、字符串变量未初始化;
2、接口类型的对象没有用具体的类初始化,比如: List lt;会报错 List lt = new ArrayList();则不会报错了
3、当一个对象的值为空时,你没有判断为空的情况。你可以试着把下面的代码前加一行代码: if(rb!=null && rb!="") 改成: if(rb==null); if(rb!==null&&rb!="") 或者if((“”).equals(rb))
其他常见的导致空指针异常的情景小结
1.Object为null,导致.equals等操作时,发生空指针异常
2.List为null,导致.size等操作时,报空指针异常
3.使用别人提供的接口、平台的接口,返回的对象是null
4.调用第三方接口/SDK或使用服务时,返回为null
5.自己创建的对象值为null,使用时报空指针异常
6.findViewbyId时,出现空指针异常
7.fragement.getActivity()返回null,导致空指针异常
8.涉及到数据库的操作,导致空指针异常
9.使用Object.toString()时,出现空指针异常
10.与其他应用或者第三方软件交互时(接口、SDK、Intent、数据等),发生
了空指针异常
11.应用解析文件时,文件是损坏的,导致空指针异常
12.使用NFC、T卡热插拔、相机、红外遥控器等硬件设备时,发生空指针异常
13.快速操作时,手机性能所致,导致空指针异常
14.打印log时,出现空指针异常
15.误删xml代码,导致id找不到
---------------------
作者:LoveUU_4ever
来源:CSDN
原文:https://blog.csdn.net/Wyd970729/article/details/80732155
版权声明:本文为博主原创文章,转载请附上博文链接!