天天看點

Java枚舉根據key擷取value

package com.utcip.crm.common.constants;  
  
import com.utcip.crm.common.base.process.ScheduleStatusEnum;  
  
/** 
 * 合同變更存儲mongodb 狀态值 
 * @author jingfangnan 
 * 
 */  
public enum ConstractMongoStatus {  
      
    NEW(3,"新增"),  
      
    UPDATE(2,"修改"),  
      
    DELETE(1,"删除"),  
      
    GENERATOR(0,"普通無狀态"),  
      
    // 是否送出稽核  
    REVIEW(5,"送出稽核"),  
      
    NO_REVIEW(-5,"不送出稽核"),  
      
    //變更流程相關  
      
    ONLY_CONTRACT_MATERIAL(6,"僅涉及合同材料修改"),  
      
    NOT_ONLY_CONTRACT_MATERIAL(7,"需要合同檔案部稽核"),  
      
    CRM_ACC_EXPEN_CHANGE(8,"涉及實收款變更"),  
      
    NO_CRM_ACC_EXPEN_CHANGE(9,"不涉及實收款變更"),  
      
    //曆史版本清單  
      
    UPDATE_PRODUCT(10,"變更商品"),  
      
    UPDATE_ACC_EXPEN(11,"變更實收款"),  
      
    UPDATE_RECEIVAL(20,"變更收款計劃"),  
      
    UPDATE_ATTACHMENT(12,"變更附件"),  
      
    UPDATE_CONTRACT(13,"變更合同基本資訊"),  
      
    UPDATE_APPROVAL(14,"變更審批單"),  
      
    //變更曆史狀态描述  
      
    MODIFY_NOMORE(19,"初始狀态"),  
      
    MODIFY_UPDATE(15,"已更新"),  
      
    MODIFY_REVIEW_ING(16,"稽核中"),  
      
    MODIFY_REVIEW_PASS(17,"稽核通過"),  
      
    MODIFY_REVIEW_NO_PASS(18,"稽核未通過")  
      
    ;  
      
    private final Integer status;  
      
    private final String desc;  
      
    private ConstractMongoStatus(final Integer status,final String desc){  
        this.status = status;  
        this.desc = desc;  
    }  
      
    public static Integer getValue(Integer value) {  
        ConstractMongoStatus[] businessModeEnums = values();  
        for (ConstractMongoStatus businessModeEnum : businessModeEnums) {  
            if (businessModeEnum.status().equals(value)) {  
                return businessModeEnum.status();  
            }  
        }  
        return null;  
    }   
      
    public static String getDesc(Integer value) {  
        ConstractMongoStatus[] businessModeEnums = values();  
        for (ConstractMongoStatus businessModeEnum : businessModeEnums) {  
            if (businessModeEnum.status().equals(value)) {  
                return businessModeEnum.desc();  
            }  
        }  
        return null;  
    }  
      
    public Integer status(){  
        return this.status;  
    }  
      
    public String desc(){  
        return this.desc;  
    }  
      
}           

轉載于:https://www.cnblogs.com/lxcmyf/p/8990339.html