JavaSE 5.0에는 열거형 지원이 추가되었습니다. 열거형 사용에 대해서는 자세히 설명하지 않겠습니다. 즉, 프로그램의 다른 부분에서 사용할 수 있도록 열거형에 상수를 정의할 수 있습니다.
Java의 내장 열거 유형은 1, 2를 암시하는 열거 이름의 정의만 제공합니다. . 해당 실제 값을 기다립니다.
org.apache.commons.lang.enums 패키지 아래 ValuedEnum 유형을 사용하면 이 클래스를 확장하여 더욱 강력한 기능을 제공할 수 있습니다. 이름에서 알 수 있듯이 ValuedEnum----은 열거형의 이름을 마음대로 정의할 수 있습니다. 이 클래스는 열거형의 상수에 액세스하기 위한 getEnumMap, getEnumList, interator 및 기타 메서드를 제공합니다. 수업. . 그 예는 다음과 같습니다.
import java.util.Iterator;
java.util.List 가져오기;
java.util.Map 가져오기;
import org.apache.commons.lang.enums.ValuedEnum;
공개 최종 클래스 WeekDayEnum은 ValuedEnum을 확장합니다.
/**
*
*/
공개 정적 최종 긴 serialVersionUID = 732377557389126868L;
개인 정적 최종 int MONDAY=1;
개인 정적 최종 int TUESDAY=2;
개인 정적 최종 int WEDSDAY=3;
개인 정적 최종 int THURSDAY = 4;
개인 정적 최종 int FRIDAY=5;
개인 정적 최종 int SATDAY=6;
개인 정적 최종 int SUNDAY=7;
public static final WeekDayEnum WEEKDAY_MONDAY_ENUM = new WeekDayEnum("월요일",MONDAY);
public static final WeekDayEnum WEEKDAY_TUESDAY_ENUM = new WeekDayEnum("화요일",TUESDAY);
public static final WeekDayEnum WEEKDAY_WEDSDAY_ENUM = new WeekDayEnum("수요일",WEDSDAY);
public static final WeekDayEnum WEEKDAY_THURSDAY_ENUM = new WeekDayEnum("목요일",THURSDAY);
public static final WeekDayEnum WEEKDAY_FRIDAY_ENUM = new WeekDayEnum("Friday",FRIDAY);
public static final WeekDayEnum WEEKDAY_SATDAY_ENUM = new WeekDayEnum("토요일",SATDAY);
public static final WeekDayEnum WEEKDAY_SUNDAY_ENUM = new WeekDayEnum("일요일",SUNDAY);
protected WeekDayEnum(문자열 이름, 정수 값) {
super(이름, 값);
}
public static WeekDayEnum getEnum(문자열 유형){
return (WeekDayEnum)getEnum(WeekDayEnum.class, 유형);
}
공개 정적 WeekDayEnum getEnum(int 유형){
return (WeekDayEnum)getEnum(WeekDayEnum.class, 유형);
}
공개 정적 맵 getEnumMap(){
return getEnumMap(WeekDayEnum.class);
}
공개 정적 목록 getEnumList(){
return getEnumList(WeekDayEnum.class);
}
공개 정적 반복자 iterator(){
반복자()를 반환합니다.
}
원하는 결과를 얻기 위해 드라이버 클래스의 메서드를 마음대로 호출할 수 있습니다.
예: WeekDayEnum.WEEKDAY_MONDAY_ENUM은 열거 값에 액세스합니다.
WeekDayEnum.getEnumList는 열거 클래스에 의해 정의된 상수 컬렉션을 반환할 수도 있습니다.
그리고 WeekDayEnum.getEnumMap 등을 통해 Map 키-값 쌍 컬렉션을 반환합니다.