final
字段促进不变性。这是一件好事,IMO。但是,我发现必须明确声明每个方法参数和局部变量为final,看起来很吵,使LOC更宽;我只是期望它是这样的。
我原以为默认情况下方法参数和局部变量final
是最好的决定。为什么不是这样?
答案 0 :(得分:4)
这是一个正式的答案:默认情况下,对于这两个领域和参数来说,最终都是一个更好的选择,但是这艘船在1995年开航并且试图锁定谷仓的价值相对较小马逃跑后的门。正如@PeterLawrey建议的那样,即使避免变异参数也很好,但它很少值得使它们成为最终的语法开销(实际上,在Java 8中,编译器在某些情况下推断出最终结果,这些情况以前需要明确的最终结果,例如内部捕获类。)
答案 1 :(得分:-3)
Intellij允许您自定义代码生成。在首选项下 - >编辑 - >代码风格 - > Java - >代码生成。您可以点击显示make generated parameters final
的按钮。