• 优化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();

    第二种方式: 策略+工厂 

  • 相关阅读:
    矩阵快速幂---BestCoder Round#8 1002
    行列式及其基本性质
    排列,逆序
    扩展欧几里得
    AC automation 模板
    hdu2897 巴什博奕
    hdu2188 巴什博奕
    hdu1846 巴什博奕
    hdu2149 巴什博奕
    【转】博弈基础
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12578293.html
Copyright © 2020-2023  润新知