当前位置: 首页 > news >正文

哪些常量用枚举,哪些用类

枚举 vs 常量类的选择标准

使用枚举的情况

  1. 有限且固定的值集合

    • 如:[StatsTypeEnum](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-common\src\main\java\com\aiwei\common\enumeration\StatsTypeEnum.java#L7-L50)(平均值、方差、范围、幅度)
    • 如:星期几、月份、状态码等
  2. 需要类型安全的参数传递

    • 避免传入非法值
    • 编译时就能发现错误
  3. 需要遍历所有可能值

    • 使用values()方法获取所有枚举值
    • 如:下拉菜单选项、配置类型等
  4. 配合 switch 语句使用

    • 提供更好的 IDE 支持和类型检查

使用常量类的情况

  1. 单纯的键值对映射

    • 如:[MessageConstant](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-common\src\main\java\com\aiwei\common\constant\MessageConstant.java#L5-L84) 中的错误消息
    • 不需要类型安全检查的字符串或数字
  2. 配置信息或标识符

    • 如:数据库表名、API 端点、环境变量名
    • 值可能会动态变化
  3. 大量独立的常量

    • 没有关联性或逻辑分组
    • 不需要枚举的特殊方法(values()ordinal()等)
  4. 向后兼容性考虑

    • 已有大量代码使用字符串或数字常量
    • 不方便重构为枚举

您项目中的应用

  • [StatsTypeEnum](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-common\src\main\java\com\aiwei\common\enumeration\StatsTypeEnum.java#L7-L50)✓ 应该用枚举 - 固定的统计类型,需要类型安全
  • [MessageConstant](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-common\src\main\java\com\aiwei\common\constant\MessageConstant.java#L5-L84)✓ 适合用常量类 - 错误消息文本,不需要枚举特性
http://www.cnnetsun.cn/news/160366.html

相关文章:

  • FaceFusion镜像内置缓存机制提升重复任务效率
  • 【隐私合规迫在眉睫】:Open-AutoGLM一键启用的5大应急防护机制详解
  • 你敢完全信任AI自动执行吗?Open-AutoGLM用人工确认构建最后一道防火墙
  • Open-AutoGLM遇上PIPL:企业必须掌握的5大合规技术要点
  • Langchain-Chatchat结合RAG技术提升回答质量
  • 用Langchain-Chatchat将PDF、Word转为可问答的知识库
  • Open-AutoGLM上线后售后人力下降75%,这份部署落地 checklist 你必须拥有
  • 开源×商业创新:从“降本工具”到“增长飞轮”的洞察文章(可直接发布)
  • Langchain-Chatchat支持GraphQL订阅吗?实时更新推送
  • 如何让AI自动化任务永不失败?Open-AutoGLM重试机制背后的4个核心技术点
  • Open-AutoGLM人工确认流程全公开(9大核心触发场景+3步应急响应)
  • FaceFusion如何确保不同镜头间风格一致性?
  • Langchain-Chatchat构建自动驾驶法规知识库
  • Langchain-Chatchat如何集成暗黑模式?UI视觉体验优化
  • Langchain-Chatchat如何支持富文本编辑?WYSIWYG集成
  • remix.config.js虽然用JavaScript写,但可以通过JSDoc注解获得
  • Langchain-Chatchat支持gRPC接口调用吗?高性能通信
  • Langchain-Chatchat如何配置自动伸缩?K8s HPA策略设置
  • 解决PostgreSQL中找不到uniq函数的错误
  • Langchain-Chatchat在质量管理手册查询中的高效表现
  • 有图有料——电源、时钟、复位,单片机硬件系统三大要素故障案例小结
  • Langchain-Chatchat在客户服务中的降本增效实证分析
  • Langchain-Chatchat与InfluxDB时序数据库监控集成
  • Langchain-Chatchat问答系统可观测性三大支柱建设
  • Java毕设项目推荐-基于Java+springboot的智慧城市管理中心平台城市信息管理系统【附源码+文档,调试定制服务】
  • 计算机Java毕设实战-基于springboot的政府在线集中采购管理系统设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 用 Playwright 连接本地 Chrome(CDP 模式)科普指南
  • GitHub 开源项目里最常见的“系统架构”,其实长这样
  • 论文解读|BookReconciler:用于元数据增补与作品层聚类的开源工具
  • FaceFusion镜像内置防伪标识:可追溯生成内容来源