java枚举类--不使用switch case

前言

java中使用枚举类获取枚举值,我们常用的方式就是使用switch case,代码看的非常臃肿,下面介绍一种方法精简代码。话不多说,上代码。

代码

枚举类

public enum  OffbondMessageEnum {
    WXXZ_WIN_INNER("中签内部通知","MXZ005","xxxInnerServiceImpl"),
    WXXZ_WIN_FUND_ACCOUNT("中签通知基金会计","MXZ004","xxxFundAccountServiceImpl")
    ;

    private String name;
    private String code;
    private String serviceName;

    OffbondMessageEnum( String name, String code, String serviceName) {
        this.code = code;
        this.name = name;
        this.serviceName = serviceName;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getServiceName() {
        return serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public static String getServiceNameByCode(String code){
        OffbondMessageEnum[] values = OffbondMessageEnum.values();
        for(OffbondMessageEnum offbondMessageEnum : values){
            if(StrUtil.equals(code, offbondMessageEnum.getCode())){
                return offbondMessageEnum.getServiceName();
            }
        }
        throw WinExceptionUtil.winException(OffbondExceptionEnum.TEMPLATE_SERVICE_NOT_EXIST, code);
    }
}

如上所示的getServiceNameByCode方法,就可以直接根据code获取相应的属性了


千里之行 始于足下


版权声明:本文为zoujian1991原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。