开发者

无感NullPointerException的值相等判断方法

目录
  • 方法一:
  • 方法二(更优雅):

场景:当我们需要去判断一个 入参/查库 返回的开关变量(通常是个Integer类型的)时,常常会写如下的if-else判断语句。但又会为在生产环境看到的「NullPointerException」感到困扰。遇到过这样问题的小伙伴,可以继续向下看:

public static void main(String[]js args) {
 Integer a = 1;
 Integer b = null;
 if(b!=1){
   System.out.println("不等于");
 }else {
   System.out.println("等于");
 }
}

这里b=nll,直接来看「b!=1」是可以打印出「不等于」的,但结果竟是出乎意料的空指针异常:

Exception in thread "main" Java.lang编程.NullPointerException
  at com.XXX.Controller.main(XXX.java:223)

为了避免上面的问题:

方法一:

在if分支中添加判空的逻辑:

if(null!= b && b!=1)

方法二(更优雅):

我们可以使用「Objects.equals()」工具类来实现判断逻辑:

public static void main(String[] args) {
 Integer a = 1;
 Integer b = null;
 if(!Ob开发者_Go教程jects.equals(1,b)){
   System.out.println("不等于");
 }else {
   System.out.println("等于");
 }
}

输出结果:

不等于

当然,不影响本就不相等的情况,例如:「b=2」,输出的是「不等于」

到此这篇关于无感NullPointerException的值相等判断的文章就介绍到这了,更多相关www.devze.comNullPointerEjsxception的值相等判断内容请搜索我们以js前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜