尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

枚举类三大应用场景 - -z-w-h

枚举类三大应用场景 - -z-w-h
📅 发布时间:2026/6/19 23:57:57

场景 1:状态 / 类型定义
/**

  • 作业3-场景1:枚举-状态定义 订单状态
    */
    enum OrderStatus {
    UNPAID, // 未支付
    PAID, // 已支付
    DELIVERED, // 已发货
    FINISH, // 已完成
    CANCEL // 已取消
    }

class OrderTest {
public static void main(String[] args) {
OrderStatus status = OrderStatus.PAID;
switch (status) {
case UNPAID -> System.out.println("待用户付款");
case PAID -> System.out.println("准备发货");
case DELIVERED -> System.out.println("运输中");
case FINISH -> System.out.println("交易结束");
case CANCEL -> System.out.println("订单关闭");
}
}
}

场景 2:策略模式,消除大量 if-else
/**

  • 作业3-场景2:枚举策略模式 替代if/else 四则运算
    */
    interface Calculate {
    int calc(int a, int b);
    }

enum Operator implements Calculate {
ADD("+") {
@Override
public int calc(int a, int b) {
return a + b;
}
},
SUB("-") {
@Override
public int calc(int a, int b) {
return a - b;
}
},
MUL("*") {
@Override
public int calc(int a, int b) {
return a * b;
}
},
DIV("/") {
@Override
public int calc(int a, int b) {
return a / b;
}
};

private final String symbol;
Operator(String symbol) {
this.symbol = symbol;
}
public String getSymbol() {
return symbol;
}
}

class StrategyTest {
public static void main(String[] args) {
int a = 10, b = 5;
for (Operator op : Operator.values()) {
int res = op.calc(a, b);
System.out.printf("%d %s %d = %d%n", a, op.getSymbol(), b, res);
}
}
}

场景 3:后端统一返回码枚举
/**

  • 作业3-场景3:枚举统一接口返回码(后端开发必备)
    */
    enum ResultCode {
    SUCCESS(200, "操作成功"),
    FAIL(500, "服务器异常"),
    PARAM_ERROR(400, "参数非法"),
    UNAUTHORIZED(401, "未登录"),
    FORBIDDEN(403, "权限不足");

    private final int code;
    private final String msg;

    ResultCode(int code, String msg) {
    this.code = code;
    this.msg = msg;
    }

    // getter
    public int getCode() { return code; }
    public String getMsg() { return msg; }
    }

// 模拟接口返回实体
class Result {
private int code;
private String msg;
private T data;

public static Result ok(T data) {
Result r = new Result<>();
r.code = ResultCode.SUCCESS.getCode();
r.msg = ResultCode.SUCCESS.getMsg();
r.data = data;
return r;
}

public static Result fail(ResultCode code) {
Result r = new Result<>();
r.code = code.getCode();
r.msg = code.getMsg();
return r;
}

@Override
public String toString() {
return "Result{code=" + code + ", msg='" + msg + "', data=" + data + "}";
}
}

class ApiTest {
public static void main(String[] args) {
// 成功返回
System.out.println(Result.ok("用户数据"));
// 参数错误返回
System.out.println(Result.fail(ResultCode.PARAM_ERROR));
}
}

相关新闻

  • 如何安装和配置Google Translate Mac客户端:5分钟快速上手教程 [特殊字符]
  • winget只下载不安装
  • express-winston性能优化:减少日志开销的7个最佳实践

最新新闻

  • 2026年6月,如何精准联系并选择知名的西安拓展夏令营? - 品牌鉴赏官2026
  • SQLi-Labs靶场从零搭建到通关全攻略(一):环境搭建与基础四关
  • AI搜索时代,深圳企业如何用“全意图GEO”抢占7亿用户的第一推荐位? - GEO优化
  • Page Assist终极指南:让本地AI模型成为你的网页浏览智能伴侣
  • 2026滨州漏水检测维修精选优质服务商TOP5推荐!卫生间漏水/厨房漏水/屋顶天花板漏水/阳台漏水/地下室漏水防水补漏检测维修-正规防水补漏公司优选口碑榜测评推荐 - 即刻修防水
  • Windows系统文件msvcp100d.dll丢失找不到问题解决

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号