关于java中空指针异常
我要写一个工具方法给别人调用,但是有可能传进来的参数是null,而这是非法的,有三种方法,大家觉得应该哪种:一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异...
我要写一个工具方法给别人调用,但是有可能传进来的参数是null,而这是非法的,有三种方法,大家觉得应该哪种:
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常)
二,做检查,发现是null后抛出空指针异常
三,做检查,发现是空后返回null 展开
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常)
二,做检查,发现是null后抛出空指针异常
三,做检查,发现是空后返回null 展开
8个回答
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”或者空值放于设定的值之前。
(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”或者空值放于设定的值之前。
展开全部
个人建议使用第二种, 然后还有个个人习惯,
就是发现null后我一般不让它抛空指针, 我会threw new Exception("xxx不能为空");
或者自定义一个exception去threw .都差不多
这样别人一看就知道了
就是发现null后我一般不让它抛空指针, 我会threw new Exception("xxx不能为空");
或者自定义一个exception去threw .都差不多
这样别人一看就知道了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得应该是第二个:
做检查,发现是null后抛出空指针异常
这样做,原因有二:
你自己捕捉异常,可以给使用者增加一些自定义的异常信息。帮助它尽快找到错误并修正
如果你不捕捉异常,异常可能会一直抛出,最后会抛到页面上。这对你的代码的人性化、严密性都会大有影响。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一,不理会,直接使用传进来的数据(实际运行的时候就会有空指针异常) .空指针异常是运行时异常,编译器只有运行时才能识别,编译时不会,所有没什么意义, 对外api对运行时异常都不做判断的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二,做检查,发现是null后抛出空指针异常
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询