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

    第二种方式: 策略+工厂 

  • 相关阅读:
    linux系统根目录文件系统空间不足导致的错误
    python---对象
    公共函数
    PHP接口(interface)和抽象类(abstract)
    mysql引擎
    InstallShield自定义图片资源
    InstallShield 创建自己的Dialog
    InstallShield:自己备份
    注册表和ODBC
    IS脚本学习
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12578293.html
Copyright © 2020-2023  润新知