方法中代码块有什么好处?

时间:2015-02-16 07:24:04

标签: java

我见过一个包含几个块的方法:

public class SomeClass {
    public void someMethod() {
        {
            ...
        }
        {
            ...
        }
        {
            ...
        }       
    }
}

与通常的方法相比,这种结构有什么好处(将每个块的代码放入自己的方法并从someMethod调用它们)?

该来源的作者是这样写的原因是什么?

2 个答案:

答案 0 :(得分:4)

它们可用于组织局部变量:

{
    List<String> someTemporaryThing = getTemporaryThing();
    processTemporaryThing1(someTemporaryThing);
    processTemporaryThing2(someTemporaryThing);
}

// other code that doesn't need to see someTemporaryThing

当然,如果你在其中一行中有多行,那么将它作为一个单独的方法可能是个好主意。

我还没有找到任何其他用途。

答案 1 :(得分:1)

这是C的遗留问题,最初只能在代码块的开头声明变量(即在{之后)。

在Java中,只有正如您所说的那样,您不希望将这些块中的代码移动到单独的方法中,而是希望将其变量保留在方法的范围之外,这样才有用。 。理论上,与将这些东西带到方法相比,这可以使性能有所提高。