Просматривая старый код, я наткнулся на этот камень:
MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");
Вторая строка отмечена в Eclipse как мертвый код, и я понимаю, почему. Никакое исключение явно не выбрано, и конструктор MyObject
не может выбрасывать какое-либо исключение (например, NullPointerException
s).
Мой вопрос - почему существует нулевая проверка? Возможно ли это ранее в старой версии Java для того, чтобы конструктор возвращал значение null? Или это просто бесполезный и мертвый код?