在 Java 中声明方法参数 final 是否有任何性能原因?
如:
public void foo(int bar) { ... }
对比:
public void foo(final int bar) { ... }
假设 bar
在 foo()
中只被读取而从未被修改。
最佳答案
final 关键字不会出现在局部变量和参数的类文件中,因此不会影响运行时性能。它的唯一用途是澄清编码人员不更改变量的意图(许多人认为其使用的可疑原因),并处理匿名内部类。
关于方法本身的 final 修饰符是否有任何性能提升存在很多争论,因为无论如何优化编译器都会在运行时内联这些方法,而不管修饰符是什么。在这种情况下,它也应该只用于限制方法的覆盖。
关于java - 在 Java 中声明方法参数 final 是否有任何性能原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266806/