Jonathan Pitre Jonathan Pitre - 1 month ago 5x
Java Question

Can constructor return a null object?

While looking through some old code I came across this gem:

MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");

The second line is marked in Eclipse as dead code, and I understand why. No exception seems to be explicitly thrown, and it isn't possible for the
constructor to throw any kind of exception (such as

My question is why there is a null check? Was it previously possible in an old version of Java for a constructor to return null? Or is this simply useless and dead code?


The code is dead in any version of java. It's not possible for a constructor to return null and even if an exception would be thrown from the constructor, the next line won't be called.