java程序员最常见的空指针异常java.lang.NullPointerException

前言

对于空指针异常来说java程序再熟悉不过,但是对于见到这类的异常,说明我们的系统还不够完善,RunTimeException:运行时异常,又称不受检查异常,不受检查!
不受检查!!不受检查!!!重要的事情说三遍,因为不受检查,所以在代码中可能会有RunTimeException时Java编译检查时不会告诉你有这个异常,但是在实际运行代码时则会暴露出来,比如经典的1/0,空指针等。

官网api解释

public class NullPointerException
extends RuntimeException当应用程序尝试在需要对象的情况下使用null时抛出。 这些包括:
调用一个null对象的实例方法。
访问或修改null对象的字段。
取null的长度,好像是一个数组。
访问或修改的时隙null就好像它是一个数组。
投掷null好像是一个Throwable价值。
应用程序应该抛出此类的实例以指示null对象的其他非法使用。 NullPointerException对象可以由虚拟机构建,就像suppression were disabled and/or the stack trace was not writable一样 。

在这里插入图片描述

举例说明

我们创建一个测试类,然后创建一个判断字符串是否为空的方法,如下

package com.ssm.demo;

public class NullPointerExceptionTest {

	public boolean testNullPointerException(String agr) {
		
		if(agr.equals("")&&agr!=null) {
			return true;
		}else {
			return false;
		}
	}
	
	public static void main(String[] args) {
		boolean isTure=new NullPointerExceptionTest().testNullPointerException(null);
	}
}

运行后抛出空指针异常,如下图:
在这里插入图片描述

思考

如何避免这类问题的,首先我们要定位到报空指针的代码位置,分析上面的问题,是到了

agr.equals("")

报的空指针,那么我们考虑过agr!=null会报空指针么,改一下试试
在这里插入图片描述
可以看出来不会报空指针,也跟官网介绍的一毛一样,调用空对象的方法或属性才会报空指针,那么对于上面的判断字符串为空且不为空字符串时怎么办呢,我们可以这样修改,
一万年也不会报空指针了哈哈

"".equals(agr)

在这里插入图片描述


-END-

如果你喜欢我的分享,欢迎关注微信公众号 java学长分享技术干货!
悄悄告诉你免费赠送重磅互联网架构师教程,提升职场技术水平!
需要java1.8 中文api文档的,关注公众号,回复“java中文”即可领取!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悍将朱哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值