public enum TrafficLight {
RED, YELLOW, GREEN
}
public enum UserLevel {
BRONZE("青铜", 0, 100),
SILVER("白银", 101, 500),
GOLD("黄金", 501, 2000),
PLATINUM("铂金", 2001, 10000);
private final String chineseName;
private final int minPoints;
private final int maxPoints;
UserLevel(String chineseName, int minPoints, int maxPoints) {
this.chineseName = chineseName;
this.minPoints = minPoints;
this.maxPoints = maxPoints;
}
public String getChineseName() {
return chineseName;
}
public boolean isInRange(int points) {
return points >= minPoints && points <= maxPoints;
}
public static UserLevel fromPoints(int points) {
for (UserLevel level : values()) {
if (level.isInRange(points)) {
return level;
}
}
return BRONZE;
}
}
// 推荐的做法 public enum UserRole {

STUDENT,
TEACHER,
ADMINISTRATOR,
CONTENT_REVIEWER
}
// 不推荐的做法 public enum Role {
S, // 含义不明确
T, // 过于简略
A,
CR
}

public enum UserRole {
GUEST(1, "访客"),
STUDENT(2, "学员"),
TEACHER(3, "讲师"),
ASSISTANT(4, "助教"),
ADMIN(5, "管理员"),
SUPER_ADMIN(6, "超级管理员");
private final int level;
private final String description;
UserRole(int level, String description) {
this.level = level;
this.description = description;
}
public boolean canAccessCourseManagement() {
return this.level >= TEACHER.level;
}
public boolean canModifySystemSettings() {
return this == ADMIN || this == SUPER_ADMIN;
}
}
public enum CourseCategory {
PROGRAMMING("programming") {
@Override
public String getDisplayName(Locale locale) {
if (Locale.CHINA.equals(locale)) {
return "编程开发";
}
return "Programming";
}
},
DESIGN("design") {
@Override
public String getDisplayName(Locale locale) {
if (Locale.CHINA.equals(locale)) {
return "设计创意";
}
return "Design";
}
};
private final String code;
CourseCategory(String code) {
this.code = code;
}
public abstract String getDisplayName(Locale locale);
}

你可能想看: