Java IntelliJ是否可以将@Overrides添加到特定接口的所有方法中?
我已经创建了一个接口,包含大约30个方法,并在30个类中实现 我想将@Override添加到每个实现中,但我不想手工完成 IntelliJ能帮我什么忙 界面如下所示:Java IntelliJ是否可以将@Overrides添加到特定接口的所有方法中?,java,annotations,intellij-idea,Java,Annotations,Intellij Idea,我已经创建了一个接口,包含大约30个方法,并在30个类中实现 我想将@Override添加到每个实现中,但我不想手工完成 IntelliJ能帮我什么忙 界面如下所示: public interface PreviewObjectTests { void testGetName(); void testGetType(); //... 30 similar methods } 实施代码: public class PreviewObjectAccountTest impl
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
}
使用Alt+Enter INTERNATIONE可轻松完成,然后按右箭头查看子菜单:
我找到了一种使用简单的查找/替换工具的方法
这适用于我的特殊情况,因为类文件中实际上没有任何其他方法。如果我在属于其他接口的文件中有很多方法,我会认为这会有点疯狂它不是eclipse或idea specfic。它的编译器规格以及您遵守的法规遵从性。 在eclipse中为1.6或更高版本。 在我看来,1.5或更高 在上述情况下,它将由各自的IDE自动检查。对于IntelliJ:
这使我能够正确地注释几百个类……在eclipse中很容易做到,但我不知道intellij。那么,在eclipse中您将如何做到这一点呢?这可能有助于这个问题的读者了解:)事实上,我没有在我的文件中得到这个意图的建议。我在列表中的唯一意图是
扩展到“@test()”
。您所指的意图是否仅在生产类文件中有效,而不在测试中有效?请确保项目语言级别设置为1.6或更高。语言级别设置为“6.0级-@在接口中重写”
。(我在java 1.6.0_27中使用intelliJ 11.01)。是否在设置|检查中启用了缺少的@Override注释检查?你能在我的截图上突出显示方法名吗?当插入符号位于高亮显示的代码上时,按Alt+Enter。我已经验证了它也适用于测试类。您能否共享一个示例项目,以便我们可以尝试重现缺少意图操作的问题?me-1缺少@Override注释(我不能这样做:))为此执行搜索/替换是一个坏主意。我同意这是一个坏主意,但没有更好的主意。幸运的是,这对我来说很有效,因为我组织单元测试文件的方式。Text replace不好,因为您需要检查哪些方法实际上是重写的,哪些不是重写的。由于这个特性是Java IDE中内置的,我别无选择,只能投反对票:'(在我的Intellij版本中,它是在“类结构”中而不是在“继承问题”中,但您可以在“检查”屏幕上搜索“覆盖”并找到“缺少@Overrid注释”很容易。对不起,伙计,这是一个否定的说法。问题是关于自动修复:“我想在每个实现中添加@Override,但我不想手工完成。”