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();

    第二种方式: 策略+工厂 

  • 相关阅读:
    day 1 认识js
    day2,request对象
    day3
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day 13 函数
    day 11(2) 集合
    day 11 字典拆包
    字典
    两周英语函数(记)
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12578293.html
Copyright © 2011-2022 走看看