如何在 Checkstyle 中强制枚举常量必须大写?

How can I enforce that enum constants must be uppercase in Checkstyle?

假设我有以下枚举:

enum Colour
{
    RED   (1),
    GREEN (2),
    Blue  (3); // Invalid

    final int colourCode;

    Colour(final int code)
    {
        this.colourCode = code;
    }
}

我希望 Checkstyle 强制所有枚举常量只能包含大写字符、数字和下划线。

在这种情况下 Blue 应该抛出一个错误,而其他一切(包括成员 colourCode)都没有问题。

我看过 the naming section of the documentationMemberNameConstantNameStaticVariableName,但 none 似乎适用,您也无法专门针对枚举。

令人惊讶的是,Core Checkstyle 无法开箱即用。您将不得不使用 Sevntu Checkstyle addon, which features the EnumValueNameCheck。我认为默认行为正是您所需要的,因此您可以这样配置它:

<module name="EnumValueName"/>

确保在 运行 之前将 Sevntu Checkstyle 添加到您的 Checkstyle 类路径中。他们的网站上有关于如何在各种情况下执行此操作的描述。