gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:45:00 31 4
gpt4 key购买 nike

有没有办法在 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;
}

对于上述代码,我收到以下错误消息:在定义字段之前无法引用该字段

最佳答案

正如 IntelliJ IDEA 在提取常量时建议的那样 - 创建静态嵌套类。这种方法有效:

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



@Getter
private final String value;

private static class Constants {
public static final String BAR_VALUE = "BAR";
}
}

关于java - 如何在 Java 枚举中定义静态常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60877788/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com