性能有差异吗?

时间:2014-11-10 23:35:26

标签: java performance

使用括号或不使用括号会有任何差异吗?一个比另一个快吗?或者他们俩都差不多?

没有括号:

if(codehere == codehere)
    return;

支架:

if(codehere == codehere) {
    return;
}

我不是Java的新手,但我很好奇是否存在任何性能差异。

很抱歉,如果这是错误的发布地点。

2 个答案:

答案 0 :(得分:3)

在这种情况下,性能没有差异。

然而,正如@MadProgrammer所指出的那样,可读性和可维护性的编码应该始终是您的首要任务,只有在代码工作并且可以进行测量后才能对性能进行优化。

使用带有大括号的表单有助于维护,因为它可以降低以下风险:

if(codehere == codehere)
    doSomething();
    doSomethingElse();

当读者浏览这段代码时,他们认为doSomething()和doSomethingElse()只在if语句为true时被调用 - 在这种情况下是错误的。

如果你在上面的例子中使用大括号:

if(codehere == codehere) {
    doSomething();
    doSomethingElse();
}

......代码应该如何执行变得很明显。

答案 1 :(得分:1)

不,这不会改变表现。 但是拿这个链接,是一个很好的阅读:

http://java.dzone.com/news/omitting-braces-not-just-a-mat