zoukankan      html  css  js  c++  java
  • 优化if..else代码的两种方式

    第一种方式: 使用枚举 

    优化前

       String orderStatusDes;
            if (orderStatusCode == 1) {
                orderStatusDes = "订单未支付";
            } else if (orderStatusCode == 2) {
                orderStatusDes = "订单已支持";
            } else if (orderStatusCode == 3) {
                orderStatusDes = "已发货";
            } else if () {
                ....
            }    

    优化后

    定义一个枚举

    public enum OrderStatusEnum {
        UNPAY(1, "订单未支持"), PAIDED(2, "订单已支付"), SENDED(3, "已发货");
    
    
    
    
        private int orderStatusCode;
        private String orderStatusDesc;
    
        OrderStatusEnum(int orderStatusCode, String orderStatusDesc) {
            this.orderStatusCode = orderStatusCode;
            this.orderStatusDesc = orderStatusDesc;
        }
    
        public String getDesc() {
            return orderStatusDesc;
        }
    
        static OrderStatusEnum of(int orderStatusCode) {
            for (OrderStatusEnum temp : OrderStatusEnum.values()) {
                if (temp.orderStatusCode == orderStatusCode) {
                    return temp;
                }
    
            }
            return null;
        }
    }

    然后就可以通过如下方式获取订单状态描述:

     // 通过订单状态码获取相应的订单描述 
     String orderStatusDesc = OrderStatusEnum.of(1).getDesc();

    第二种方式: 策略+工厂 

  • 相关阅读:
    nth_element 使用方法
    Codeforces-1326E Bombs
    GDB下调试查看数组部分内容
    0930,主外键设置
    0928,数据库
    0924,函数返回多个值
    0921,函数 枚举
    0920,结构体
    0918,练习题
    0916,双色球练习题
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12578293.html
Copyright © 2011-2022 走看看