三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Java 枚举的 3 个神仙用法,告别烂代码!

Java 枚举的 3 个神仙用法,告别烂代码!

哈喽大家好!今天聊聊 Java 里超好用的枚举(Enum)类型。很多人只把它当 “固定值容器”,但其实它能解决开发里的很多痛点,下面给大家拆解 3 个最常用的场景,每个都附上手写示例~

场景 1:状态 / 类型定义(最常用!)

开发中经常会遇到固定的状态值,比如订单状态、用户类型、任务状态等。用枚举替代public static final常量,既能避免魔法值,又能保证类型安全,还能自带描述信息。

使用场景

  • 数据库状态字段映射,避免写int status = 1这种魔法值
  • 前端状态展示,直接调用getDesc()获取描述,不用额外维护映射表
  • 场景 2:策略模式(替换大量if/else

    很多业务里会出现大量分支判断,比如根据类型执行不同的逻辑。用枚举结合策略模式,把每个分支的逻辑封装到枚举实例中,代码瞬间清爽。

  • 优势

  • 新增支付方式时,只需新增枚举实例,不用修改业务代码
  • 完全消灭if/elseswitch,代码更易维护和扩展
  • 场景 3:统一返回码(后端接口必备)

    后端接口需要统一的返回格式,比如codemessage。用枚举定义返回码,能保证全局返回码的一致性,避免团队成员各自定义重复或冲突的返回码。

    使用场景

  • 接口返回时,直接调用Result.success(data)Result.fail(ResultCode.USER_NOT_EXIST)
  • 团队成员统一使用枚举中的返回码,避免自定义错误码导致的混乱

最后总结

枚举不只是 “固定值容器”,它的核心优势是:

  1. 类型安全:避免魔法值和非法参数
  2. 高内聚:把状态、逻辑、描述都封装在一起,代码更整洁
  3. 易扩展:新增场景只需新增枚举实例,不用修改业务代码

用好枚举,能帮你解决开发中很多 “烂代码” 问题,写出更优雅的 Java 后端代码~


← 返回列表