欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java 代码中预防空指针异常的处理办法

程序员文章站 2024-02-09 09:49:58
项目中遇到的nullpointerexception 分两种情况: 1. 引用空对象,即调用空对象的方法或引用空对象的属性。 2. 将8中基础类型的封装类赋值给对应的基...

项目中遇到的nullpointerexception 分两种情况:

1. 引用空对象,即调用空对象的方法或引用空对象的属性。

2. 将8中基础类型的封装类赋值给对应的基础类。

 

1.对于别人接口的返回对象要做非空判断,因为我们不清楚获得的对象会不会为空,对于collection map 我一般会调用collectionutils maputils ,对于返回的string对象,我会调stringutils.isnotempty()进行非空判断。他们中isnotempty不仅判断了null 还判断了空集合和空串。例如从数据中查询的结果。工作流中返回的定价url

2. 对于自己创建的对象,要留心对象进行哪些操作,中间会不会造成对象为空,如果可能加非空判断,尤其是对于集合的操作,很容易就报空指针!!!所以每次对操作集合时,我都会非常的留心。

3. 对于前台的领域对象要非常的留心,因为这些对象是框架创建的,假如我没有在前台的文本框内输入值,虽然提交时后台获得的是空串,但发生nullpointerexception的概率很高。

4. 对于string 的操作尽量使用apache 的stringutils类,与string相比这个是非常的安全。对于集合的操作使用apache的collectionutils 、maputils, 相比apache工具类的执行效率也非常的高,比如stringutils.split();

有人说过多的判断会影响性能,我个人认为这里的性能牺牲和系统的安全相比是微不足道的。