我最近从Eclipse切换到IntelliJ IDEA,我真的很喜欢检查员,发现它们标记了潜在的错误,警告对我来说非常有用。我遇到了他无法解决的问题:
我有一些Java项目在其他项目中用作API,因此它包含未使用的方法,这些方法标记为: Unused warning
如何为API方法抑制此问题?是否有@SuppressWarnings("unused")
的替代方法,因为这也会抑制方法中有关未使用警告的警告,并且不会使读者明白此方法是为API使用而设计的,而不是仅仅在当前项目中使用?
答案 0 :(得分:12)
@ Sebastian建议让您的类实现接口可能是从良好的设计角度解决此问题的最佳方法。但是当这是不切实际的时候,还有另一种选择......
"未使用的声明"检查允许您配置要忽略的入口点。作为其中一部分,您可以配置注释"。
只需将检查配置为使用注释公共API方法的注释,可以是库中的一个,也可以是您创建的注释。例如,这里我使用了我创建的@PublicApi
注释。请注意,该方法不突出显示为未使用。但foo
字符串仍然突出显示为未使用:
作为打开“设置”对话框的替代方法,并限制对您的编程flow的影响,您还可以使用快速修复意向添加"未使用的声明"所需的注释;设置。在使用所需注释进行注释后,将光标放在突出显示的未使用方法(或类)名称上,并调用"意图操作和快速修复"弹出通过 Alt + 输入或⌘ ↩(或点击灯泡图标 )并选择"抑制由' {annotation} 注释的方法':
答案 1 :(得分:4)
为您的班级编写一个界面。实现接口方法的方法未标记为未使用。相反,接口中未使用的方法被标记为未使用但在这里您可以安全地使用@SuppressWarnings("unused")
,因为您没有方法体。你甚至可以在整个界面上面写@SuppressWarnings("unused")
。
答案 2 :(得分:2)
intellij可以为你做这个。只需按下Alt + Enter就会发出警告。一些建议会弹出其中一个是删除字段。在建议的最后会有一个箭头字段。使用箭头键导航到该选项并使用向右箭头显示另一个菜单。其中一个选项是对方法进行抑制,并对语句等进行抑制。 抑制陈述将导致:
//noinspection unused
int iii = 0;
但是我必须敦促你注意Intellij提供的警告而不是盲目地压制它们。
答案 3 :(得分:1)
简而言之,不,这与IntelliJ没有任何关系,Javac如果你要求它,Java编译器会产生这些。 如果您的方法需要此注释,那么这将适用于整个方法。但是,如果您只是希望对某个字段进行注释,那么这是可能的:
@SuppressWarnings("unused")
int iii = 0;
总之,方法注释将涵盖整个方法,每个字段放置它或指令将覆盖该单行。