优雅枚举之通过枚举值获取枚举对象

目录

    一、BaseEnum

    二、CheckStatusEnum


一、BaseEnum

public interface BaseEnum {

    Integer getCode();
    String getTitle();

    /**
     * 通过枚举值获取枚举对象
     */
    static BaseEnum valueOf(Class enumClass, Integer code) {
        if (code == null) {
            return null;
        }
        BaseEnum[] enumConstants = enumClass.getEnumConstants();
        if (enumConstants != null && enumConstants.length > 0) {
            for (BaseEnum enumConstant : enumConstants) {
                if (enumConstant.getCode().equals(code)) {
                    return enumConstant;
                }
            }
        }
        return null;
    }

}

二、CheckStatusEnum

@RequiredArgsConstructor
@Getter
public enum CheckStatusEnum implements BaseEnum {
    WAIT(1, "待审核"),
    DONE(2, "已通过");

    private final Integer code;
    private final String title;

    public static void main(String[] args) {
        BaseEnum baseEnum = BaseEnum.valueOf(CheckStatusEnum.class, 1);
        System.out.println(baseEnum.getTitle());
    }

}

你可能感兴趣的:(enum,java,开发语言)