例如,GWT 2.4.0仍然抱怨“Field'private final ...'不会被序列化,因为它是最终的”。如何防止Eclipse为特定的Java代码行添加'final'?
最简单的方法是添加一个setter(或任何虚拟方法,使局部变量的分配,我们想要防止成为最终的(例如,如果setter已经有,并且它不分配))。
例如,GWT 2.4.0仍然抱怨“Field'private final ...'不会被序列化,因为它是最终的”。如何防止Eclipse为特定的Java代码行添加'final'?
最简单的方法是添加一个setter(或任何虚拟方法,使局部变量的分配,我们想要防止成为最终的(例如,如果setter已经有,并且它不分配))。
可以Window > Preferences > Java > Editor > Save Actions > Additional Actions > Configure... > Code Style
下找到设置和有关您的评论:
我想禁用添加改性剂单行线,而不是整个 项目。
Eclipse并没有一个干净的方法来做到这一点。 可能所做的只是使用Eclipse文本编辑器而不是Java编辑器打开文件,并手动删除final
关键字,但恐怕除此之外,您无能为力。
或者创建一个重新分配字段的未使用的方法,但这也是一种黑客行为。
@Stephan GWT不使用java序列化,而是使用java自定义的java <-> javascript ...不确定覆盖readObject会对这个特定问题做什么 – Vinze
你使用某种类型的代码生成器吗?因为我不明白这个问题......我个人比较倾向于通过不把它写在第一个位置来防止“最终”变形者...... – Vinze