java - 如何避免 Java 中盒装类型算术的 NullPointerExceptions?

标签 java null nullpointerexception operators

鉴于以下情况:

Integer var1 = null;
Integer var2 = 4;
Integer result = var1 + var2; // throws NullPointerException

我的用例的要求是,每当任一操作数为 null 时,result 都应为 null(这同样适用于其他运算符) .我知道我可以使用 if 语句来执行此操作,但有没有更聪明的方法?

最佳答案

最好的方法是不使用普通算术运算的装箱类型。请改用原始类型。

只有当你在某个地方的集合中使用它们时,你才应该求助于 Boxed 类型。

编辑:

结合@Ingo 的建议,有一个很好的实用程序类 Optional在 Guava 中,它解释了如何避免空值。

现在使用此类可以明确表示该值可以是 null

关于java - 如何避免 Java 中盒装类型算术的 NullPointerExceptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20117074/

相关文章:

SQL如何查找非空列?

sql - 为什么带有 NULL 列的 count( distinct ) 在 Hive SQL 中返回 0?

java - 在调用 instanceof 之前是否需要检查空值?

java - 将json数组插入sqlite数据库时出现空指针异常

android - Mockito Kotlin 单元测试方法调用验证抛出空指针异常

java - 使用 restclient 或 postman 发送 gzip 数据

java - Android AsyncTask 与 onPostExecute 错误

java - 通过Intellij IDEA运行web应用程序时,编译好的webapp在哪里?

java - 是否可以使用单个 hibernate session 将对象保存在两个不同的模式中?

nullpointerexception - 从java中的selenium的另一个类调用test