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 月 3 日 因为如果 num 是 null 的话,num == 0 直接抛异常了
|
2
unregister OP @Inn0Vat10n 明白了。
|
3
cslive 2022 年 11 月 4 日
if(num==null || num==0)
调换一下顺序 你后面改其实也就是调换一下顺序 |
4
guyeu 2022 年 11 月 4 日
if (num == Integer.valueOf(0) || num == null)
|
5
guyeu 2022 年 11 月 4 日
真这么写代码会被 reviewer 喷
|
6
unregister OP |