Integer num = 0;
Integer num = xxxDao.select(); // 无结果 返回 null
if(num == 0 || num == null){ num = num2; //num2 就是一个其他非空的值 } // 此时调用方法 function(num) throw NullPointerExcepiton 我改成 if(Objects.isNull(num) || num == 0) 才不会报空 idea 提示 num == null can not reach always false. 这是啥原因?有没有大佬知道
1
Inn0Vat10n 2022-11-03 22:23:31 +08:00 1
因为如果 num 是 null 的话,num == 0 直接抛异常了
|
2
unregister OP @Inn0Vat10n 明白了。
|
3
cslive 2022-11-04 08:52:58 +08:00
if(num==null || num==0)
调换一下顺序 你后面改其实也就是调换一下顺序 |
4
guyeu 2022-11-04 10:40:11 +08:00
if (num == Integer.valueOf(0) || num == null)
|
5
guyeu 2022-11-04 10:42:34 +08:00
真这么写代码会被 reviewer 喷
|
6
unregister OP |