IntelliJ是否可以将@Overrrides添加到特定接口的所有方法?

时间:2012-01-27 09:05:40

标签: java annotations intellij-idea

我创建了一个界面,有大约30种方法,并在30个类中实现。

我想将@Override添加到每个实现中,但我不想手动执行。

IntelliJ如何帮助我?

界面如下所示:

public interface PreviewObjectTests {
    void testGetName();
    void testGetType();
    //... 30 similar methods
}

实施代码:

public class PreviewObjectAccountTest implements PreviewObjectTests {

    //I want to add @Override here!
    @Test public void testGetName() {
        assertThat(...);
    }

    //I want to add @Override here!
    @Test public void testGetType() {
        assertThat(...);
    }

    //...30 similar methods 

}

5 个答案:

答案 0 :(得分:51)

使用 Alt + 输入意图轻松完成,然后按右箭头进入子菜单:

Fix all

答案 1 :(得分:42)

对于IntelliJ:

  1. 检查是否有"缺少@Override注释"在偏好中检查 - >项目设置 - >检查 - >继承问题。
  2. 使用分析 - >检查代码
  3. 查找继承问题 - >缺少@Override注释"检查配置文件的结果"窗口。
  4. 应用修复"添加@Override注释" Apply fix "Add @Override annotation"

答案 2 :(得分:-1)

对于Eclipse(在Mars.2上测试):

窗口/首选项(或项目属性)   Java /编译器     错误/警告       注释         缺少@Override注释 - 设置为错误(或警告)

在重建工作区之后,在“标记”视图中,右键单击其中一个错误,快速修复(Ctrl + 1),并显示所有错误。选择全部并应用修复。

这对我有用,可以正确地注释几百个课程......

答案 3 :(得分:-2)

我找到了一种方法来使用简单的查找/替换工具。

  1. 首先,我更改了方法名称,以激活实现要更改的界面的所有文件
  2. 然后我创建了一个简单的查找/替换,只查看已更改的文件。
  3. Intellij Add @override for tests in changed files only

    这适用于我的特定情况,因为类文件中实际上没有任何其他方法。如果我在属于其他接口的文件中有很多方法

    ,我会认为这会有点疯狂

答案 4 :(得分:-2)

它不是日食或想法。它的编译器特性以及您遵守的合规性。 在日食中它的1.6或更高。 而且我认为它的价格为1.5或更高。

在上述情况下,它将由相应的IDE自动检测。