
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 |