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

    第二种方式: 策略+工厂 

  • 相关阅读:
    Hbase安装与简单使用
    Integer Int
    Maven是什么
    对Servlet执行流程的初步认识
    android studio 开发环境的搭建
    centos下更换默认的python版本
    写出我心(七)
    写出我心(六)
    写出我心(五)
    写出我心(四)
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12578293.html
Copyright © 2011-2022 走看看