いくつかの古いコードを調べているときに、この宝石に出くわしました:
MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");
2 行目は Eclipse でデッド コードとしてマークされていますが、その理由は理解できます。例外は明示的にスローされないようであり、MyObject
コンストラクターがあらゆる種類の例外 ( NullPointerException
s など) をスローすることはできません。
私の質問は、なぜnull チェックがあるのですか? Java の古いバージョンでは、コンストラクターが null を返すことは可能でしたか? それとも、これは単に役に立たないデッド コードですか?