如何在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;

}

对于以上代码,我收到以下错误消息: 。

回答:

正如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枚举中定义静态常量? 的全部内容, 来源链接: utcz.com/qa/429934.html

回到顶部