news 2026/5/26 7:16:14

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
哪些常量用枚举,哪些用类

枚举 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)✓ 适合用常量类 - 错误消息文本,不需要枚举特性
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 21:46:19

数据泄露危机频发,Open-AutoGLM为何成企业最后防线?

第一章:数据泄露危机的现状与挑战近年来,随着数字化转型加速,企业存储和处理的数据量呈指数级增长,数据泄露事件频发,已成为全球关注的安全焦点。攻击者利用系统漏洞、社会工程或内部权限滥用等手段窃取敏感信息&#…

作者头像 李华
网站建设 2026/5/24 15:31:24

Langchain-Chatchat如何配置跨域资源共享CORS?API安全

Langchain-Chatchat 如何配置跨域资源共享(CORS)?API 安全实战解析 在企业级 AI 应用快速落地的今天,越来越多组织选择将大型语言模型(LLM)部署于本地环境,以保障数据隐私与合规性。Langchain-C…

作者头像 李华
网站建设 2026/5/23 20:11:16

(Open-AutoGLM操作自由化革命):解锁被屏蔽的社交自动化能力仅需这一步

第一章:Open-AutoGLM 社交应用操作限制解决在部署 Open-AutoGLM 用于社交平台自动化任务时,常因频繁请求或行为模式识别被平台施加操作限制。这类限制包括临时封禁、验证码挑战或 API 调用限流。为保障服务稳定性,需从请求频率控制、身份标识…

作者头像 李华
网站建设 2026/5/25 1:21:57

Langchain-Chatchat如何实现文档水印添加?版权保护机制

Langchain-Chatchat 如何实现文档水印添加?版权保护机制 在企业知识管理日益智能化的今天,基于大语言模型(LLM)的本地问答系统正迅速成为组织内部信息流转的核心枢纽。Langchain-Chatchat 作为开源领域中广受关注的本地知识库解决…

作者头像 李华
网站建设 2026/5/22 22:55:21

Open-AutoGLM日志解析秘技,资深架构师绝不外传的5种调试路径

第一章:Open-AutoGLM 日志报错代码解析在部署和运行 Open-AutoGLM 框架时,日志系统常输出关键错误信息,帮助开发者定位模型推理、环境配置或依赖冲突问题。理解这些报错代码的含义与触发条件,是保障系统稳定运行的核心环节。常见日…

作者头像 李华
网站建设 2026/5/26 6:18:38

Langchain-Chatchat如何集成截图上传功能?图像文字识别

Langchain-Chatchat 如何集成截图上传与图像文字识别功能 在智能问答系统日益普及的今天,用户对交互方式的期待早已超越了传统的“输入文本—获取回答”模式。尤其是在企业内部知识管理、教育辅助和专业文档处理等场景中,大量信息以图像形式存在&#x…

作者头像 李华