如何在Java枚举中定义静态常量?
有什么方法可以在Java枚举声明中定义静态最终变量(有效常量)?
我想要在一个地方定义BAR(1 … n)值的字符串文字值:
@RequiredArgsConstructorpublic 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建议的那样,在提取常量时-制作静态嵌套类。此方法有效:
@RequiredArgsConstructorpublic 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