鉴于以下情况:
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/