Доброго времени суток. Собственно, вопрос в том, какой практический смысл конструкции, когда выделяется блок внутри метода. Что-то типа этого:
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?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Можно ли в java переименовать Label, прописав это в коде самостоятельно?
Путем цикла я создала меткиМне нужно, чтобы, когда я кликну на них мышкой, они исчезали
В эмуляторе все работает как надо, однако на реальных устройствах появляется куча давно созданных файловНе подскажете, почему так происходит?
Есть MySQL база с 1 таблицей пользователей, есть простейшее CRUD приложение со Spring MVC и, собственно, Hibernate для работы с этой базойВсе по туториалам:...