判空


判空的使用区别

  1. null 是一个有效有意义的返回值
    返回一个空对象(而非null对象)
  2. null是无效有误的
    null就是一个不合理的参数,就应该明确地中断程序,往外抛错误。这种情况常见于api方法。例如你开发了一个接口,id是一个必选的参数,如果调用方没传这个参数给你,当然不行。你要感知到这个情况,告诉调用方“嘿,哥们,你传个null给我做甚”

相对于判空语句,更好的检查方式

  1. assert语句,你可以把错误原因放到assert的参数中,这样不仅能保护你的程序不往下走,而且还能把错误原因返回给调用方,岂不是一举两得
  2. 也可以直接抛出空指针异常。上面说了,此时null是个不合理的参数,有问题就是有问题,就应该大大方方往外抛。

equals方法使用

用equals方法,请用object<不可能为空>.equals(object<可能为空>))
例如使用:
"bar".equals(foo)
该方案可以避免空指针异常

使用spring自带工具类进行判空操作(推荐)


文章作者: zrh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zrh !
  目录