Java 日食/摆脱;“最后的”;方法参数和构造函数参数的修饰符

Java 日食/摆脱;“最后的”;方法参数和构造函数参数的修饰符,java,eclipse,Java,Eclipse,有没有人建议去掉方法和构造函数参数上的“最终”修饰符(不必手动完成)?我的结论是,我不再需要这些修饰符,因为它会使方法签名变得杂乱无章(因此,我还必须去掉JSR305@Nonnull注释,并在包级别提供注释)。也许我可以说服您保留最后的修饰符,因为它有助于编译器优化代码。 否则,只需使用您最喜欢的通用文本编辑器并替换所有文件: “(最终”与“” 和 ,final“with”,(取决于是否有空格)使用final in-method签名是一种很好的做法 如果仍然要删除它们,请转到Eclipse 窗口

有没有人建议去掉方法和构造函数参数上的“最终”修饰符(不必手动完成)?我的结论是,我不再需要这些修饰符,因为它会使方法签名变得杂乱无章(因此,我还必须去掉JSR305@Nonnull注释,并在包级别提供注释)。

也许我可以说服您保留最后的修饰符,因为它有助于编译器优化代码。 否则,只需使用您最喜欢的通用文本编辑器并替换所有文件: “(最终”与“” 和
,final“with”,(取决于是否有空格)

使用final in-method签名是一种很好的做法

如果仍然要删除它们,请转到Eclipse 窗口<首选项 如果选中了其他操作,请单击“配置<代码样式”

取消选中“尽可能使用最终修改器”

注意:这将帮助您删除final的新实例,但不会删除现有实例


希望这有帮助。

找到“final”并将其替换为“”:-)。。。只有在您完全确定它只出现在方法声明中时才可以使用。@sanbhat的建议也会在字段上点击
final
s等等。但是查找正则表达式
\(*)final
并替换为
(\1
)应该可以做到这一点。@AlexWien OP谈论的是final参数,而不是final方法。出于某些原因,您可能会看到final:)您是否有证据表明存在针对最终参数的优化?是的,我有空格,并且您的表达式不应该有任何副作用(因为我还在几乎所有实例、类上使用最终修饰符…)@phloc我在不同的页面上读到,无论参数是否为final,结果字节码都是完全相同的。这意味着编译器没有进行任何优化。