使用eclipse警告“字段声明隐藏另一个字段或变量”?

Eclipse有一个名为“字段声明隐藏另一个字段或变量”的java编译器设置,可以设置为警告/错误。

您认为这个警告有多重要?

处理这个问题的标准方法是什么?

发生这种情况的代码示例:

public class Test { private String caption = null; public Test(String caption) { // here this.caption = caption; } } 

我已经看到了重命名字段的解决方案,即“fCaption”,但这会导致可以被生成的自动getter / setter具有奇怪的名称( getfCaption() )。 不可读,但丑陋……

编辑:哦,是的,有可能重命名方法签名Test(String caption_)或类似的东西,但这将最终在javadoc看起来很奇怪。

在我看来,这是一个非常有用的选项,应该能够显示编译器警告。 有一个选项(在我的版本中至少是Eclipse 3.5.2,Java EEfunction1.2.2)可以在构造函数和getter / setter中进一步启用/禁用它以防止误报。

eclipse编译器设置

我会说你只是禁用了这个警告 – 它似乎没有用在你的约定中。 难怪它默认会被忽略。

我将这些设置为“错误”。 如果一个类及其父级都有一个同名的字段,我不想失去任何时间试图弄清楚为什么我似乎为该字段赋值,但它似乎永远不会改变!