空指针的避免

对一个为null的变量或者对象进行操作时,就会容易出现这种报错。

Object object = null;
String string = object.toString();

上面的代码就会出现空指针的错误。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

如何避免空指针

1.字符串比较,常量放前

if(status.equals(SUCCESS)){

}

这时候status可能为null会出现空指针异常,可以把常量放前面,就能避免空指针异常。

if(SUCCESS.equals(status)){

}

2.初始化默认值

在对象初始化的时候给他一个默认值或者是默认构造实现

User user = new User();
String name = StringUtils.EMPTY;

3.返回空集合

在返回一个集合的话,默认是null,统一规范返回一个空集合。

public List getUserList(){
    List list = userMapper.getUserList();
    return list == null?new ArrayList():list;
}

4.断言 assert

断言是用来检查程序的安全性的,在使用之前进行条件检查,如果不符合条件就会报error,符合就继续。

assert name == null:"name不能为null"

输出

Exception in thread "main" java.lang.AssertionError:name不能为null

5.Optionl

jdk8新特性

of

public static <T> Optional<T> of(T value){
    return new Optionl<>(value);
}

为value创建一个Optionl对象,如果value为空则会爆出空指针异常。

等。。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄