如果我让变量最终成功,事情会更快吗?

Ric*_*lor 10 java android

我正在为Android(Java)写作.

我正在声明int和float是持续循环的一部分.

声明后,其中一些不需要更改.

如果我在声明时将它们全部设置为最终,那么事情会更快吗?

[编辑]

感谢大家.我真的没想到它会做出任何改进,我只是注意到,在浏览了各种大型项目的来源之后,这是相当普遍的.干杯

Bal*_*usC 9

事情不会更快.该final关键字只是编译时的语法糖.


如果它实际上是static final,那么您可以利用编译时计算和任何引用中的值的内联.所以,举例来说:

private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * 1000L;

public void foo(Date date) {
    if (date.getTiem() > System.currentTimeMillis() + ONE_WEEK_IN_MILLIS) {
        // No idea what to do here?
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器将优化一个和另一个,以便它最终像:

private static final long ONE_WEEK_IN_MILLIS = 604800000L;

public void foo(Date date) {
    if (date.getTiem() > System.currentTimeMillis() + 604800000L) {
        // No idea what to do here?
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您运行反编译器,您将自己看到它.