让我们假设有一个特定的方法,比如说,3 个参数。
public void something(final String id, final String name, final Entity entity){
//...
}
在这种情况下,所有参数都标记为最终参数。那些。我确定我不会更改它们,而只会使用它们的值。上面描述的 + 和 - 是什么。我应该在方法参数中写“final”这个词吗?在优化方面是否有意义?
让我们假设有一个特定的方法,比如说,3 个参数。
public void something(final String id, final String name, final Entity entity){
//...
}
在这种情况下,所有参数都标记为最终参数。那些。我确定我不会更改它们,而只会使用它们的值。上面描述的 + 和 - 是什么。我应该在方法参数中写“final”这个词吗?在优化方面是否有意义?
这是这样一堂课
它编译成这个字节码
如您所见,在生成的字节码中,
final String second修饰符已经消失了final——Ljava/lang/String;那些。当用作
final方法或构造函数的参数时,仅对编译阶段施加限制(即,如果您更改final变量的值,编译器将给出错误),并且在字节码中这些修饰符将被丢弃,因为有将不再对他们有多大意义。