关于java中空指针异常

我要写一个工具方法给别人调用,但是有可能传进来的参数是null,而这是非法的,有三种方法,大家觉得应该哪种:
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常)
二,做检查,发现是null后抛出空指针异常
三,做检查,发现是空后返回null

空指针异常产生的主要原因如下:
(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”或者空值放于设定的值之前。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-17
个人建议使用第二种, 然后还有个个人习惯,
就是发现null后我一般不让它抛空指针, 我会threw new Exception("xxx不能为空");
或者自定义一个exception去threw .都差不多
这样别人一看就知道了本回答被提问者采纳
第2个回答  2014-02-17

我觉得应该是第二个:

做检查,发现是null后抛出空指针异常 

这样做,原因有二:

    你自己捕捉异常,可以给使用者增加一些自定义的异常信息。帮助它尽快找到错误并修正

    如果你不捕捉异常,异常可能会一直抛出,最后会抛到页面上。这对你的代码的人性化、严密性都会大有影响。

本回答被网友采纳
第3个回答  2014-02-17
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常) .空指针异常是运行时异常,编译器只有运行时才能识别,编译时不会,所有没什么意义, 对外api对运行时异常都不做判断的。
第4个回答  2014-02-17
二,做检查,发现是null后抛出空指针异常
相似回答