Я читаю эффективную Java-версию Дж. Блоха, и теперь я в разделе о инициализации локальных переменных. Вот что он сказал:Понимание инициализации локальной переменной
Почти каждое локальное объявление переменной должно содержать инициализатор. Если у вас еще недостаточно информации для инициализации переменной переменной разумно, вы должны отложить объявление до тех пор, пока не сделаете это. Исключение из этого правила относится к заявлениям о попытках.
Итак, как насчет заявления if-else
? Нам необходимо инициализировать переменную, только если какое-то условие выполнено, и инициализировать его по-другому, если это не так, как
MyClass mc = null;
if(cond)
mc = new MyClass();
else
mc = new MyClass(1);
//use mc
Поскольку это не упоминается J. Bloch, это рассматривается как плохой техникой программирования и этого следует избегать?
Я не уверен, что «одно исключение» означает «единственное исключение» или «одно из исключений». Наверное, это последнее. – mezzodrinker
@ flashdrive2049 Может быть, но не в этом разделе ... –