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