近期在进行Integer类型相等判断时遇到了空指针:
Integer a = null;
boolean b = a == 1;
第二行出现了空指针异常。想了想发现是Java在自动拆箱的时候把代码变成了这样:
Integer a = null;
boolean b = a.intValue() == 1;
idea实际上也显示了提醒:
提示:a的拆箱可能会造成NullPointerException
故针对基本类型包装类的比较,应写为:
Integer a = null;
boolean b = Objects.equals(a, 1);
END
网友评论