Следующий код не компилируется, потому что eater
определяется дважды:Java стиль: Объявление переменной в коммутаторе
switch (vegetable) {
case TOMATO:
Eater eater = new Eater(Tomato.class, many parameters);
eater.eat(more parameters);
return true;
case POTATO:
Eater eater = new Eater(Potato.class, many parameters);
eater.eat(more parameters);
return true;
case CARROT:
doSomethingElse();
return true;
}
Должен ли я:
- Используйте отдельные переменные `` tomatoEater` и potatoEater`, что делает код менее ремонтопригодным?
- Определить `eater` перед` switch`, делая его доступным больше, чем нужно?
- Определить `eater` только в первый раз, что приводит к потенциальной путанице?
- Добавить брекеты, делая код более подробным?
- Любая идея?
Я * действительно * не хочу знать, что делает метод doSomethingElse(). – CurtainDog
BTW, я вижу '{' в новой строке после долгого времени ... Чувствует себя хорошо, когда кто-то еще кодит так же, как и я :-) – Nivas
CurtainDog: LOL Клянусь, это было абсолютно случайно! Nivas: Fixed ;-) –