何时应将 final 用于方法参数和局部变量?
我发现了一些参考资料(例如),建议尽可能多地使用,我想知道这有多重要。这主要是在方法参数和局部变量的上下文中,而不是最终的方法或类。对于常量,这显然是有道理的。final
一方面,编译器可以进行一些优化,它使程序员的意图更清晰。另一方面,它增加了冗长性,优化可能是微不足道的。
这是我应该努力记住的事情吗?
我发现了一些参考资料(例如),建议尽可能多地使用,我想知道这有多重要。这主要是在方法参数和局部变量的上下文中,而不是最终的方法或类。对于常量,这显然是有道理的。final
一方面,编译器可以进行一些优化,它使程序员的意图更清晰。另一方面,它增加了冗长性,优化可能是微不足道的。
这是我应该努力记住的事情吗?
痴迷于:
考虑但明智地使用:
忽略,除非感觉肛门:
方法参数和局部变量 - 我很少这样做,主要是因为我很懒惰,我发现它使代码混乱。我完全承认,标记我不打算修改的参数和局部变量是“更正确的”。我希望这是默认设置。但事实并非如此,我发现代码在总决赛中更难理解。如果我在别人的代码中,我不会把它们拉出来,但如果我正在写新代码,我不会把它们放进去。一个例外是,您必须将某些内容标记为最终版本,以便可以从匿名内部类中访问它。
编辑:请注意,正如@adam-gent所提到的,最终局部变量实际上非常有用的一个用例是当值被分配给/分支中的var时。if
else
这是我应该努力记住的事情吗?
否,如果您使用的是 Eclipse,因为您可以配置“保存操作”以自动为您添加这些最终修饰符。然后,您可以以更少的努力获得好处。