Java Enum的使用

最近为了便于对状态码的描述信息进行解析,学习了一下Enum的使用,发现还挺好使的。

首先,定义一个Enum的类Status,有两个属性statusValue状态码 以及 statusDesc状态描述

public enum Status {
    STATUS_OK("01","成功"),
    STATUS_FAILED("02","失败"),
    STATUS_NOTHING("03","未知状态");
    
    private Status(String statusValue, String statusDesc){
        this.statusValue = statusValue;
        this.statusDesc = statusDesc;
    }
    
    //通过statusValue获取状态描述
    public static String getStatusDesc(String statusValue){
        for(Status s : Status.values()){
            if(s.statusValue.equals(statusValue)){
                return s.statusDesc;
            }
        }
        return null;
    }
    
    //重写toString方法
    @Override
    public String toString(){
        return "statusValue=" + this.statusValue + ",statusDesc=" + this.statusDesc;
    }
    
    private String statusValue;//状态值
    private String statusDesc;//状态描述
    public String getStatusValue() {
        return statusValue;
    }
    public void setStatusValue(String statusValue) {
        this.statusValue = statusValue;
    }
    public String getStatusDesc() {
        return statusDesc;
    }
    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }
}

测试如下

public class App {
    public static void main( String[] args )
    {
        System.out.println(Status.getStatusDesc("01"));//输出:成功
        System.out.println(Status.STATUS_FAILED.getStatusDesc());//输出:失败
        System.out.println(Status.STATUS_NOTHING.toString());//输出:statusValue=03,statusDesc=未知状态
    }
}
原文地址:https://www.cnblogs.com/fengxm/p/7462069.html