Я хочу иметь переключатель заявление, как следующее:Java Использование переключателя переменной в нескольких случаях лучшей практики
switch (something)
{
case 1:
int a = 3;
...
break;
case 2:
int a = 4;
....
break;
}
Это не работает, потому что не может быть переопределена в этой области. Я вижу следующие варианты:
- просто идти с «а = 4» в случае 2
- поместить каждый случай в фигурных скобках
- определить переменную перед оператором коммутатора
- использовать другое имя переменной в случай 2
Мне не нравится ни один из этих четырех. Какой из них - путь, или я не вижу лучшего решения?
Я видел такие вопросы как one, которые предлагают использовать фигурные скобки, но они не о лучшем способе сделать это, а о том, чтобы заставить его работать вообще.
Что цель 'switch' в контексте вашего кода? Кроме того, почему вам не нравятся эти варианты? Это одна из тех вещей, где они просто вас раздражают? Или у вас есть объективная причина дизайна? Что бы вы предпочли в идеальном мире? – Vidya
Я бы описал это как написано выше. (Как с фигурными скобками, но без необходимости добавлять дополнительные фигурные скобки) Мне не нравится 4, потому что это своего рода обходной путь, и мне не нравится 1, потому что это труднее увидеть. 2 и 3 - это то, с чем я в порядке, но не «совершенен». Я просто спрашивал себя, что будет «правильным путем», чтобы сделать это, или если есть еще лучший способ. – Flo
Как насчет 'int a = 2 + something;' без каких-либо подробностей, кажется, он прост. –