鉴于此代码
final Double price = new Double(someString);
if(price != null <...>) {
我是否正确假设价格在这里永远不会为空?
鉴于此代码
final Double price = new Double(someString);
if(price != null <...>) {
我是否正确假设价格在这里永远不会为空?
它可以抛出NumberFormatException
,但永远不会null
,因为您使用的是new
关键字。
阅读规范:JLS 的第 15.9.4 节:
类实例创建表达式的值是对指定类的新创建对象的引用。每次计算表达式时,都会创建一个新对象。
因此,构造函数永远不能返回 null。但是,java.lang.OutOfMemoryError
可能会发生。
new
永远不会导致null,是的。
是的,它永远不能为空。你为什么怀疑?