相关疑难解决方法(0)

如何在Java枚举中定义静态常量?

有没有办法在Java枚举声明中定义静态最终变量(有效常量)?

我想要的是在一个地方定义BAR(1 ... n)值的字符串文字值:

@RequiredArgsConstructor
public enum MyEnum {
    BAR1(BAR_VALUE),
    FOO("Foo"),
    BAR2(BAR_VALUE),
    ...,
    BARn(BAR_VALUE);

    private static final String BAR_VALUE = "Bar";

    @Getter
    private final String value;
}
Run Code Online (Sandbox Code Playgroud)

我收到上面代码的以下错误消息:无法在定义之前引用字段.

java enums constants

46
推荐指数
3
解决办法
4万
查看次数

如何避免此 PMD 错误 - 字符串文字“TEST”在此文件中出现 X 次;

如何避免 Java 代码中的 PMD 错误?

public enum testEnum {

    TEST1(1L, "TEST", "random1");
    TEST2(2L, "TEST", "random2");
    TEST3(3L, "TEST", "random3");
    TEST4(4L, "TEST", "random4");
    TEST5(5L, "TEST", "random5");
    TEST6(6L, "TEST", "random6");
    TEST7(7L, "OTHER STRING", "random7");

    private Long id;
    private String type;
    private String text;

    private testEnum(Long id, String type, String text){
      this.id = id;
      this.type = type;
      this.text = text;
    }
}
Run Code Online (Sandbox Code Playgroud)

运行 PMD 检查时,它会引发以下错误:

字符串文字“TEST”在这个文件中出现了 6 次;第一次出现在第 10 行

有没有办法避免它而不是使用@SuppressWarnings("PMD")

java enums pmd

5
推荐指数
2
解决办法
4159
查看次数

标签 统计

enums ×2

java ×2

constants ×1

pmd ×1