Java 如何显式注释空方法?

Java 如何显式注释空方法?,java,comments,pmd,Java,Comments,Pmd,我已经在我的过滤器类中编写了上面的空方法,这是接口所要求的。但当我的代码转到PMD检查时,它提到 未注释的空方法查找方法不包含语句但没有注释的实例。通过显式注释空方法,更容易区分有意(注释)和无意的空方法 我不明白。这到底意味着什么?当您有一个方法的主体为空时,可能是您开始编写该方法,然后忘记插入主体。如果你想让方法为空,你应该做一个注释(在注释中)来解释它是故意为空的。在Filter的情况下,由于必须实现destroy()方法,因此应该编写一条类似“无需清理”的注释。警告几乎可以自我解释 当您

我已经在我的过滤器类中编写了上面的空方法,这是接口所要求的。但当我的代码转到PMD检查时,它提到

未注释的空方法查找方法不包含语句但没有注释的实例。通过显式注释空方法,更容易区分有意(注释)和无意的空方法


我不明白。这到底意味着什么?

当您有一个方法的主体为空时,可能是您开始编写该方法,然后忘记插入主体。如果你想让方法为空,你应该做一个注释(在注释中)来解释它是故意为空的。在
Filter
的情况下,由于必须实现
destroy()
方法,因此应该编写一条类似“无需清理”的注释。

警告几乎可以自我解释


当您留下一个空方法时,您应该留下一条注释,说明为什么它是空的,是谁做的,以及何时/谁负责编写它。这样用户就知道它为什么在这里,谁应该使用它,为什么它不起作用了

用PMD的术语来说,这意味着你必须在一个空方法里面留下一条注释,所以很明显这个方法是空的


如果愿意,也可以在方法外部添加注释,但这不能满足PMD的要求。

在某些情况下,如果必须在每个空方法体中添加相同的注释,则可能只会给类添加额外的混乱(例如,如果您正在实现一个包含许多方法的接口,但您只对使用一个方法感兴趣)

使用此注释可抑制警告:

public void destroy() {
}

public void destroy(){//无需清理。}是否有效?@user2699528请尝试并查看。我的问题是,在方法内部或方法外部,在哪里可以对其进行通信?@user2699528您可以同时执行这两项操作,尽管您至少应该在方法外部进行注释,使其在中可见intellisense@user2699528如果我的回答对你有帮助,请接受,如果没有,我会回答你的每一个问题,尝试在方法之前添加@Override注释。
@SuppressWarnings("PMD.UncommentedEmptyMethodBody")