Доброго времени суток. Собственно, вопрос в том, какой практический смысл конструкции, когда выделяется блок внутри метода. Что-то типа этого:
void method() {
{ System.out.println("что-то делаем") }
//и остальной код
}
Есть несколько сценариев, в которых могут быть использованы блоки.
У переменных, определенных в блоке, областью видимости является блок. В результате в разных блоках можно определять переменные с одинаковыми названиями:
{
String test = "test";
//используем test в первом блоке
}
{
String test = "test2";
//используем test во втором блоке
}
На блок можно поставить метку, после чего из блока можно будет выходить с помощью break
.
A: {
//где-то в глубине выходим из блока
if(isFinishedA()) {
break A;
}
//продолжается блок
}
//продолжается метод
Стоит заметить, что во всех перечисленных случаях вместо блока можно использовать другие подходы (разделение на методы, тесты, изменение логики). Соответственно, необходимость локальных блоков спорна.
Похожий вопрос на английском: Is there a use of free floating block inside a method in Java?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли в java переименовать Label, прописав это в коде самостоятельно?
Путем цикла я создала меткиМне нужно, чтобы, когда я кликну на них мышкой, они исчезали
В эмуляторе все работает как надо, однако на реальных устройствах появляется куча давно созданных файловНе подскажете, почему так происходит?
Есть MySQL база с 1 таблицей пользователей, есть простейшее CRUD приложение со Spring MVC и, собственно, Hibernate для работы с этой базойВсе по туториалам:...