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

2023-05-19 16:13:40 +08:00
 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 封装的方法去解决,但没找到
3926 次点击
所在节点    程序员
41 条回复
AoEiuV020
2023-05-22 11:49:10 +08:00
我项目中有大量这种操作,主要是服务器接口使用整数 01 代表 false 和 true ,
这边处理是直接封装两个方法用来转换,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/941309

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX