Java 基础之枚举类示例

1. 枚举类

public enum DayEnum {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY,
    ;
}
public enum DayEnum {
    MONDAY("周一"),
    TUESDAY("周二"),
    WEDNESDAY("周三"),
    THURSDAY("周四"),
    FRIDAY("周五"),
    SATURDAY("周六"),
    SUNDAY("周日"),
    ;
    
    private String desc;

    DayEnum(String desc) {
        this.desc = desc;
    }
}
public enum DayEnum {
    MONDAY("Mon", "Monday", "周一"),
    TUESDAY("Tue", "Tuesday", "周二"),
    WEDNESDAY("Wed", "Wednesday", "周三"),
    THURSDAY("Thur", "Thursday", "周四"),
    FRIDAY("Fri", "Friday", "周五"),
    SATURDAY("Sat", "Saturday", "周六"),
    SUNDAY("Sun", "Sunday", "周日"),
    ;

    private String abbr;
    private String code;
    private String desc;

    DayEnum(String abbr, String code, String desc) {
        this.abbr = abbr;
        this.code = code;
        this.desc = desc;
    }

    public static DayEnum getByCode(String code) {
        if (code == null || code.isEmpty()) {
            return null;
        }
        for (DayEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    public String getAbbr() {
        return abbr;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }
}

2. 获取枚举常量名称

枚举值与枚举名称不一致时,做转换
比如:LOGISTICS_CENTER — loc_center

@Test
public void transferType() {
    String name = MessageTypeEnum.getNameByCode("loc_center");
    System.out.println(name);
}
public enum MessageTypeEnum {
    TRADE_CENTER("trade_center", "物流中心"),
    LOGISTICS_CENTER("loc_center", "协同中心"),
    ;

    private String code;
    private String desc;

    MessageTypeEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static MessageTypeEnum getByCode(String code) {
        if (code == null) {
            return null;
        }
        for (MessageTypeEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    /**
     * 返回枚举名称
     */
    public static String getNameByCode(String code) {
        if (code == null || code.isEmpty()) {
            return code;
        }
        for (MessageTypeEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value.name();
            }
        }
        return code;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }
}

【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容