关于java中空指针异常

我要写一个工具方法给别人调用,但是有可能传进来的参数是null,而这是非法的,有三种方法,大家觉得应该哪种:一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异... 我要写一个工具方法给别人调用,但是有可能传进来的参数是null,而这是非法的,有三种方法,大家觉得应该哪种:
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常)
二,做检查,发现是null后抛出空指针异常
三,做检查,发现是空后返回null
展开
 我来答
千锋教育
2016-01-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
空指针异常产生的主要原因如下:
(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”或者空值放于设定的值之前。
不非别S
2014-02-17 · TA获得超过699个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:121万
展开全部
个人建议使用第二种, 然后还有个个人习惯,
就是发现null后我一般不让它抛空指针, 我会threw new Exception("xxx不能为空");
或者自定义一个exception去threw .都差不多
这样别人一看就知道了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingkate2009
2014-02-17 · TA获得超过535个赞
知道小有建树答主
回答量:557
采纳率:50%
帮助的人:252万
展开全部

我觉得应该是第二个:

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

这样做,原因有二:

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gao4263
2014-02-17
知道答主
回答量:10
采纳率:0%
帮助的人:1.4万
展开全部
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常) .空指针异常是运行时异常,编译器只有运行时才能识别,编译时不会,所有没什么意义, 对外api对运行时异常都不做判断的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
w大少w
2014-02-17 · TA获得超过127个赞
知道答主
回答量:53
采纳率:0%
帮助的人:62.9万
展开全部
二,做检查,发现是null后抛出空指针异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式