final
关键字在方法参数中使用能让编译器或运行环境更快地工作吗?例如,如果您需要将一个变量传递给一个方法,而您知道该变量不会被修改并直接使用,那么将其声明为final
是否更有效率?
示例代码: 第一个方法应该比第二个方法更快。
public int isLargerAfterTripledFaster(int num, final int limit) {
num *= 3;
return (num > limit);
}
public int isLargerAfterTripled(int num, int limit) {
num *= 3;
return (num > limit);
}
如果我确定我永远不需要在这里传递可修改的变量,那么我应该使用这种技术吗?
final
修饰符可以进行优化,但是这里节省的时间非常少,不值得。如果您真的想提高应用程序的性能,请使用分析器来检测真正的瓶颈。 - Luiggi Mendozafinal
有很多原因,与性能无关。为什么要关注性能呢? - user395760final
用作参数有关,而那是针对常规变量的。 - Stephen D