构造函数能返回一个空对象吗?
在查看一些旧代码时,我发现了这个宝石:
MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");
第二行在Eclipse中被标记为死代码,我理解为什么会这样。没有明确抛出异常,而且MyObject
构造函数不可能抛出任何类型的异常(比如NullPointerException
)。
我的问题是为什么要进行空检查?在旧版本的Java中,构造函数曾经可以返回null吗?还是说这只是无用的死代码?