为什么默认Eclipse没有抱怨未使用的方法参数?

时间:2011-06-07 21:27:05

标签: java eclipse

我想知道为什么Eclipse默认情况下没有注册关于这样的方法的错误或警告:

public void setX(int x) {
    // empty method body
}

您可以在“首选项”>“Java>编译器>错误/警告>不必要的代码”中为此显示“参数x永远不会读取”的警告。您可以设置此警告,以便忽略覆盖和实现方法。

我只能想到你可能想忽略我粘贴的代码中的情况的一个原因:你可能想通过使用特定类型的任意值参数来调用特定版本的重载方法。但是,这似乎是非常糟糕的编程实践。是否有更好的理由在默认情况下关闭此警告?

2 个答案:

答案 0 :(得分:6)

它可能有用的一种情况是,如果您在基类中编写故意的无操作方法,可以由派生类覆盖。可以考虑像MouseAdapter这样的事情。

问题是没有办法用语言指示“是的,这是故意的无操作”......编译器要么必须考虑注释,要么你有使用@SuppressWarnings

答案 1 :(得分:0)

Link to filters settings

在过滤器中,您可以将其设置为“仅在选定的元素上”,然后您将摆脱很多警告。我使用那个设置,这非常有帮助。