新的Double(String)可以返回null吗?

时间:2013-05-15 07:39:54

标签: java

鉴于此代码

final Double price = new Double(someString);
if(price != null <...>) {

我认为这里的价格永远不会为空吗?

4 个答案:

答案 0 :(得分:6)

它可以抛出NumberFormatException,但它永远不会是null,因为您使用的是new关键字。

答案 1 :(得分:4)

阅读规范:section 15.9.4 of the JLS

  

类实例创建表达式的值是对指定类的新创建对象的引用。每次计算表达式时,都会创建一个新对象。

因此构造函数永远不能返回null。但是,可能会发生java.lang.OutOfMemoryError

答案 2 :(得分:1)

new永远不会导致null,是的。

答案 3 :(得分:1)

是的,它永远不会为空。你为什么怀疑?