我正在为Android(Java)写作.
我正在声明int和float是持续循环的一部分.
声明后,其中一些不需要更改.
如果我在声明时将它们全部设置为最终,那么事情会更快吗?
[编辑]
感谢大家.我真的没想到它会做出任何改进,我只是注意到,在浏览了各种大型项目的来源之后,这是相当普遍的.干杯
事情不会更快.该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)
如果您运行反编译器,您将自己看到它.
| 归档时间: |
|
| 查看次数: |
997 次 |
| 最近记录: |