package cc.mrbird.febs.common.enumerates; import lombok.Getter; import java.util.ArrayList; import java.util.List; @Getter public enum MemberLevelNewEnum { // SEVEN_LEVEL("SEVEN_LEVEL",6), // SIX_LEVEL("SIX_LEVEL",5), WU_LEVEL("WU_LEVEL",5), SI_LEVEL("SI_LEVEL",4), SAN_LEVEL("SAN_LEVEL",3), ER_LEVEL("ER_LEVEL",2), YI_LEVEL("YI_LEVEL",1), ZERO_LEVEL("ZERO_LEVEL",0); private String type; private Integer code; MemberLevelNewEnum(String type, Integer code) { this.type = type; this.code = code; } public List getLevelType(){ List strs = new ArrayList<>(); for (MemberLevelNewEnum value : MemberLevelNewEnum.values()) { strs.add(value.type); } return strs; } public int getLevelCode(String Level){ int codeOne = 0; for (MemberLevelNewEnum value : MemberLevelNewEnum.values()) { if(value.type.equals(Level)){ codeOne = value.code; } } return codeOne; } public String getNextLevel(String Level){ String levelNext = Level; int codeOne = 0; for (MemberLevelNewEnum value : MemberLevelNewEnum.values()) { if(value.type.equals(Level)){ codeOne = value.code; break; } } codeOne = codeOne + 1; for (MemberLevelNewEnum value : MemberLevelNewEnum.values()) { if(value.code == (codeOne)){ levelNext = value.type; break; } } return levelNext; } public static void main(String[] args) { String zero_level = MemberLevelNewEnum.ZERO_LEVEL.getNextLevel("YI_LEVEL"); System.out.println(zero_level); } /** * 比较两个级别的大小,levelOne大于levelTwo返回1,小于返回0,等于返回2 */ public int compareLevel(String levelOne ,String levelTwo) { int codeOne = 0; int codeTwo = 0; for (MemberLevelNewEnum value : MemberLevelNewEnum.values()) { if(value.type.equals(levelOne)){ codeOne = value.code; } if(value.type.equals(levelTwo)){ codeTwo = value.code; } } if(codeOne > codeTwo){ return 1; } if(codeOne == codeTwo){ return 2; } return 0; } }