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