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

我创建了一个约有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个解决方案
52 votes

使用Alt + Enter意图轻松完成,然后按子菜单的向右箭头:

Fix all

CrazyCoder answered 2020-08-11T07:13:53Z
43 votes

对于IntelliJ:

  1. 检查是否在“首选项”->“项目设置”->“检查”->“继承问题”中选中了“缺少@Override批注”。
  2. 使用分析->检查代码
  3. 在“检查配置文件的结果”窗口中查找继承问题->缺少@Override批注。
  4. 应用修复程序“添加@Override注释”Apply fix "Add @Override annotation"
user1991776 answered 2020-08-11T07:14:33Z
-1 votes

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

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

重建工作区后,在“标记”视图中,右键单击其中一个错误,即“快速修复(Ctrl + 1)”,然后将出现所有错误。 全选并应用此修复程序。

这对我来说正确地注释了数百个课程。

Jose Manuel Gomez Alvarez answered 2020-08-11T07:15:06Z
-2 votes

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

  1. 首先,我更改了方法名称以激发实现接口更改的所有文件
  2. 然后,我创建了一个简单的查找/替换,以仅查看已更改的文件。

Intellij Add @override for tests in changed files only

在我的特殊情况下,这是可行的,因为类文件中实际上没有任何其他方法。 如果我在属于其他接口的文件中有很多方法,我会认为这会更加疯狂。

Jesper Rønn-Jensen answered 2020-08-11T07:15:40Z
-2 votes

它不是日食或特定想法。 特定于其编译器的内容以及您遵循的合规性。在日食中达到1.6或更高。而且我认为它等于或大于1.5。

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

manocha_ak answered 2020-08-11T07:16:05Z
translate from https://stackoverflow.com:/questions/9030986/intellij-is-it-possible-to-add-overrrides-to-all-methods-of-a-particular-interf