You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建包含Integer类型变量的Java枚举类?附示例

Java枚举类包含Integer类型变量的正确实现

你给出的示例存在语法错误:Java枚举常量的命名必须遵循标识符规则,不能以纯数字作为枚举常量名。以下是符合语法规范、满足你需求的实现方案:

基础实现

@AllArgsConstructor
@Getter
public enum Test {
    TEST_1(1, "Test1"),
    TEST_2(2, "Test2");
    
    // Integer类型的变量,存储数字标识
    private final Integer code;
    // 对应的描述值
    private final String value;
}

说明

  • 枚举常量名TEST_1、TEST_2符合Java标识符命名规范(大写下划线分隔)
  • 通过Lombok的@AllArgsConstructor自动生成包含code和value的全参构造方法
  • @Getter自动生成两个字段的getter方法,方便外部获取值

扩展:根据Integer值获取枚举实例

如果需要根据传入的Integer类型code值快速找到对应的枚举实例,可以添加一个静态工具方法:

public static Test getByCode(Integer code) {
    for (Test test : values()) {
        if (test.getCode().equals(code)) {
            return test;
        }
    }
    throw new IllegalArgumentException("无效的code值: " + code);
}

使用示例:

Test test = Test.getByCode(1);
System.out.println(test.getValue()); // 输出 Test1

内容的提问来源于stack exchange,提问作者hamza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:30:54