有用途吗?
是 - 限制局部变量的范围。
这是个好主意吗?
可能值得商榷(而且很可能是)。
“专业”阵营会说,缩小变量的范围永远不会有什么坏处。“con”阵营会说,如果你在一个方法中使用它,并且你的方法足够长,可以保证将变量的范围缩小到特定的部分,那么这可能表明你应该从不同的部分中制作单独的方法。
就个人而言,我使用它们,例如:
public void doGet(
final HttpServletRequest request,
final HttpServletResponse response)
throws IOException {
final PersistenceManager pm = PMF.get().getPersistenceManager();
final List<ToDoListGaejdo> toDoLists;
{
final Query query = pm.newQuery(ToDoListGaejdo.class);
query.setOrdering("listName asc");
toDoLists = (List<ToDoListGaejdo>) query.execute();
}
final List<ToDoItemGaejdo> entries;
{
final Query query = pm.newQuery(ToDoItemGaejdo.class);
query.setOrdering("listName asc, priority asc");
entries = (List<ToDoItemGaejdo>) query.execute();
}
final ServletOutputStream out = response.getOutputStream();
out.println("<head>");
out.println(" <title>Debug View</title>");
....