Java 中 null > 0 为什么要报错,怎么用语法糖或者 JDK 封装的方法避免

查看 45|回复 1
作者:yibo2018   
if (a > 0) { }
if (Objects.compare(a, 0L, Long::compareTo) > 0) {        }
Exception in thread "main" java.lang.NullPointerException
上面这样写如果 a 是 null 就都会报错
一般写法是这样可以避免
if (a != null && a > 0) { }
···
但我实在不想每次遇到都写一遍判空逻辑
null 和 0 本来就不相等,为啥还要报错
我想找一个 JDK 封装的方法去解决,但没找到

null, jdk, 封装, compareto

yibo2018
OP
  
```
Comparator comparator = Comparator.nullsFirst(Long::compareTo);
if (comparator.compare(null, 0L) > 0) {
```
chat gpt 的答案
您需要登录后才可以回帖 登录 | 立即注册

返回顶部