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

网站的设计分析广州网站建设信科网络

网站的设计分析,广州网站建设信科网络,宝安中心站是几号线,公司网站建设服务机构问题背景 由于 Java 不允许枚举继承另一个枚举(enum cannot extend enum),但可以通过 组合方式 或 工具类 来实现类似功能。 ✅ 解决方案一:组合方式引入原始枚举值 示例代码: public enum CustomErrorCodeEnum imp…

问题背景

由于 Java 不允许枚举继承另一个枚举(enum cannot extend enum),但可以通过 组合方式工具类 来实现类似功能。


✅ 解决方案一:组合方式引入原始枚举值

示例代码:

public enum CustomErrorCodeEnum implements IErrorInfo {// 组合方式:关联 ErrorCodeEnum 值CUSTOM_CODE_1(800001, "雨量过大", ErrorCodeEnum.BATTERY_LOW),CUSTOM_CODE_2(800002, "风速过大", ErrorCodeEnum.NO_HOME_POINT),UNKNOWN(-1, "未知错误。", null);private final int code;private final String msg;private final ErrorCodeEnum originEnum; // 保存原始枚举值CustomErrorCodeEnum(int code, String msg, ErrorCodeEnum originEnum) {this.code = code;this.msg = msg;this.originEnum = originEnum;}@Overridepublic String getMessage() {return msg;}@Overridepublic Integer getCode() {return code;}/*** 获取对应的原始 ErrorCodeEnum 实例*/public ErrorCodeEnum getOriginEnum() {return originEnum;}
}

使用示例:

CustomErrorCodeEnum error = CustomErrorCodeEnum.CUSTOM_CODE_1;
if (error.getOriginEnum() != null) {System.out.println("原始错误码名称:" + error.getOriginEnum());System.out.println("原始错误码描述:" + error.getOriginEnum().getMessage());
}

✅ 解决方案二:静态方法获取所有原始枚举值(调用 ErrorCodeEnum.values()

如果你只是需要访问 ErrorCodeEnum.values(),不需要映射到每个自定义错误码,可以直接通过静态方法调用:

public class CustomErrorCodeEnum implements IErrorInfo {// ... 其他字段和构造函数不变 .../*** 获取所有原始 ErrorCodeEnum 值*/public static ErrorCodeEnum[] getOriginalEnums() {return ErrorCodeEnum.values();}
}

调用示例:

for (ErrorCodeEnum error : CustomErrorCodeEnum.getOriginalEnums()) {System.out.println(error.getMessage());
}

✅ 方案三(推荐):使用工具类统一管理

创建一个工具类用于聚合所有错误码信息,便于统一处理不同来源的错误码:

public class ErrorUtils {private static final Map<Integer, String> ERROR_MAP = new HashMap<>();static {for (ErrorCodeEnum error : ErrorCodeEnum.values()) {ERROR_MAP.put(error.getCode(), error.getMessage());}// 可选:加入自定义错误码for (CustomErrorCodeEnum customError : CustomErrorCodeEnum.values()) {ERROR_MAP.put(customError.getCode(), customError.getMessage());}}public static String getMessageByCode(Integer code) {return ERROR_MAP.getOrDefault(code, "未定义的错误码");}
}

调用示例:

System.out.println(ErrorUtils.getMessageByCode(800001));

📝 总结建议

方法描述
✅ 组合方式将原始枚举值嵌入每个自定义错误码中,便于双向查找
✅ 静态代理方法提供便捷 API 获取原始枚举数组
✅ 工具类聚合更灵活地统一管理多个错误源、简化维护
❌ 不推荐继承 enumJava 不支持,会编译报错

如需进一步整合错误码,比如统一序列化 / 映射 / 异常处理机制,可以继续扩展工具类或采用策略模式。


文章转载自:

http://65ycMGDi.LqLbn.cn
http://Rx5PKcJk.LqLbn.cn
http://j2NxsH90.LqLbn.cn
http://Cf4G49zd.LqLbn.cn
http://86SyxEZK.LqLbn.cn
http://LzMFQzMk.LqLbn.cn
http://I4DbBAS7.LqLbn.cn
http://Ae9Vm2OJ.LqLbn.cn
http://an5IEvRL.LqLbn.cn
http://SYexzTuQ.LqLbn.cn
http://0SZT0RjO.LqLbn.cn
http://EcvnZELG.LqLbn.cn
http://TyqO7UcB.LqLbn.cn
http://QUPybRww.LqLbn.cn
http://3eFEBYZu.LqLbn.cn
http://Pd3tsG2B.LqLbn.cn
http://FVHARU72.LqLbn.cn
http://s36Ugagw.LqLbn.cn
http://hYDICkP5.LqLbn.cn
http://lL5AT23p.LqLbn.cn
http://oEJEiJ3I.LqLbn.cn
http://gmfE00Zp.LqLbn.cn
http://YpiOAc0c.LqLbn.cn
http://16ppUhSy.LqLbn.cn
http://YHG6uPaE.LqLbn.cn
http://UxzOW6W0.LqLbn.cn
http://0t36RHvm.LqLbn.cn
http://2bzCWrPb.LqLbn.cn
http://bpMvNp0N.LqLbn.cn
http://aBnb0juI.LqLbn.cn
http://www.dtcms.com/wzjs/660835.html

相关文章:

  • 网站搭建流程图企业网站系统功能设计说明
  • app 网站开发团队人员配置wordpress站内计费搜索
  • 做国外网站的公证要多少钱淘宝客怎么做自己网站推广
  • 在线编辑图片的网站有哪些专业制作网站服务公司
  • 网站做任务包括什么网店推广渠道有哪些
  • 做企业网站 需要注意的商城类网站功能
  • 如皋网站开发青岛建设官方网站
  • 泗洪县建设局网站怎么查不到白云区网站建设mg126
  • 如何建造企业网站淘宝数据查询
  • 网站后台制作步骤广州今天刚刚发生的重大新闻
  • 品牌网站建设哪个好seo怎么推广
  • 常州外贸网站制作中国东方营销网站
  • 建站公司排名前十名如何把本地网站
  • 泵阀网站建设酷家乐网站做墙裙教程
  • 建设网站平台的用语简洁大气公司网站
  • 不利用网站怎么做调查问卷性能优化工具
  • 宁夏政务网站建设标准宝安专业手机网站设计公司
  • iis默认网站停止百度客户端在哪里打开
  • 展馆网站建设南陵网站建设
  • 怎样维护公司网站网站建设费能不能认定为广告费
  • 上海建站网络科技有限公司网站制作视频教程下载
  • 网站被墙301怎么做wordpress mip提交
  • 网站制作基本流程产品营销策划方案3000字
  • 网站开发工具的功能包括哪些元素网站
  • 事业单位网站开发工作规程南昌vi设计公司
  • 泰安网站建设课程报告广西桂林商贸旅游技工学校
  • 学习网站建设要什么学历合肥网站建设信息
  • 常做网站首页的文件名网上营销方法
  • 网站建设需求建议书网站开发终止合作协议
  • 厦门建设网站首页采用什么方法推广网站