Java枚举类的高阶用法
曾经以为的枚举类用法如下。
public class StaffConstant { /** * 性别男 */ public static final String SEX_MAN= "男"; /** * 性别女 */ public static final String SEX_MAN= "女";
实际上枚举类可以这么用
public enum StaffStatusEnum { MOVE_TYPE_NEW(2, "入职", "Onboarding"), MOVE_TYPE_BECOME(0, "转正", "End Probation"), MOVE_TYPE_QUIT(3, "离职", "Termination"), private final Integer typeId; private final String name; private final String engName; StaffStatusEnum (Integer typeId, String name, String engName) { this.typeId = typeId; this.name = name; this.engName = engName; } public Integer getTypeId() { return typeId; } public String getName() { if (LangTypeEnum.CHN.getI18nCode().equals(I18nLocaleContextHolder.getI18nLocale())) { return name; } return engName; } public static StaffChangeMoveTypeEnum getByTypeId(Integer typeId) { for (StaffChangeMoveTypeEnum staffChangeMoveTypeEnum : StaffChangeMoveTypeEnum.values()) { if (staffChangeMoveTypeEnum.typeId.equals(typeId)) { return staffChangeMoveTypeEnum; } } return ""; } }
上一篇:
IDEA上Java项目控制台中文乱码