Java中的单独{code}是什么?

Luk*_* Vo 5 java coding-style brackets

我最近阅读了一些使用特殊语法的代码{},我问过一位经验丰富的Java开发人员,但他也无法回答.

public void doSomething() {
    someWorks();
    {
        someVariables;
        someMoreWorks();
    }
    someEvenWorks();
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么代码作者将这些行放在里面{}?我想{}在执行退出后会立即释放变量中声明的变量{},因为我不能再访问这些变量{}了吗?

Jon*_*eet 6

是的,唯一的区别是范围界定.

有时,这对于一次性代码非常有用,例如微基准测试,您希望能够剪切和粘贴块并进行微小更改,然后对块进行重新排序.

我很少(如果有的话)在"真实"代码中有类似的东西.

  • @WN我不确定它是否会影响GC - 但如果我的方法很长,我宁愿重构. (2认同)