最佳答案
在浏览一些旧代码时,我偶然发现了这个宝石:
MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");
第二行在 Eclipse 中被标记为死代码,我知道为什么。似乎没有显式抛出异常,而且 MyObject
构造函数也不可能抛出任何类型的异常(比如 NullPointerException
)。
我的问题是 为什么有一个空检查吗?在 Java 的旧版本中,构造函数以前是否可能返回 null?或者这仅仅是无用的死代码?