如何让checkstyle跳过eclipse生成的equals()和hashcode()方法?

Bre*_*ent 18 java eclipse equals hashcode checkstyle

我们的项目包含几个类,我们有Eclipse生成的equals()和hashCode()方法(右键单击 - >源代码 - >生成hashCode()和equals()).

例:

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    final MyTO other = (MyTO) obj;
    if (num != other.num)
        return false;
    if (name == null) {
        if (other.name != null)
            return false;
    } else if (!name.equals(other.name))
        return false;
    if (table == null) {
        if (other.table != null)
            return false;
    } else if (!table.equals(other.table))
        return false;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这些方法适用于我们的应用程序,但遗憾的是没有通过Checkstyle的圈复杂度检查.由于这些方法是自动生成的,因此我们不关心它们的复杂性.我们可以从Checkstyle中抑制整个类,但我们希望能够排除这两种方法.

有没有人知道如何在Checkstyle中创建一个自定义规则,允许我们以任何方式排除生成的equals()和hashCode()方法,而不排除整个类?

mgv*_*mgv 5

你应该设置一个SupressionCommentFilter.在此更多信息在这里.

有时违反支票有正当理由.如果这是有问题的代码而不是个人偏好,则覆盖策略的最佳位置是代码本身.半结构化注释可与检查相关联.