JavaSE 5.0 hat Unterstützung für Aufzählungen hinzugefügt. Ich werde nicht näher auf die Verwendung von Aufzählungen eingehen. Kurz gesagt, Konstanten können in Aufzählungen für die Verwendung durch andere Teile des Programms definiert werden.
Der in Java integrierte Aufzählungstyp stellt nur die Definition des Aufzählungsnamens bereit, was 1, 2, impliziert. . Warten Sie auf den entsprechenden Istwert.
Mithilfe des ValuedEnum-Typs im Paket org.apache.commons.lang.enums können wir durch die Erweiterung dieser Klasse leistungsfähigere Funktionen bereitstellen. Wie der Name schon sagt, ist ValuedEnum eine benannte Aufzählung. Wir können den Namen der Aufzählung nach Belieben definieren. Diese Klasse bietet viele Methoden wie getEnumMap, getEnumList, interator und andere Methoden, um auf die Konstanten der Aufzählung zuzugreifen Klasse. . Hier ist ein Beispiel dafür:
import java.util.Iterator;
java.util.List importieren;
java.util.Map importieren;
import org.apache.commons.lang.enums.ValuedEnum;
Die öffentliche Abschlussklasse WeekDayEnum erweitert ValuedEnum{
/**
*
*/
public static final long serialVersionUID = 732377557389126868L;
private static final int MONDAY=1;
private static final int TUESDAY=2;
private static final int WEDSDAY=3;
private static final int DONNERSTAG = 4;
private static final int FRIDAY=5;
private static final int SATDAY=6;
privates statisches final int SONNTAG=7;
public static final WeekDayEnum WEEKDAY_MONDAY_ENUM = new WeekDayEnum("Monday",MONDAY);
public static final WeekDayEnum WEEKDAY_TUESDAY_ENUM = new WeekDayEnum("Tuesday",TUESDAY);
public static final WeekDayEnum WEEKDAY_WEDSDAY_ENUM = new WeekDayEnum("Wednesday",WEDSDAY);
public static final WeekDayEnum WEEKDAY_THURSDAY_ENUM = new WeekDayEnum("Thursday",THURSDAY);
public static final WeekDayEnum WEEKDAY_FRIDAY_ENUM = new WeekDayEnum("Friday",FRIDAY);
public static final WeekDayEnum WEEKDAY_SATDAY_ENUM = new WeekDayEnum("Saturday",SATDAY);
public static final WeekDayEnum WEEKDAY_SUNDAY_ENUM = new WeekDayEnum("Sunday",SUNDAY);
protected WeekDayEnum(String name, int value) {
super(Name, Wert);
}
öffentliches statisches WeekDayEnum getEnum(String-Typ){
return (WeekDayEnum)getEnum(WeekDayEnum.class, type);
}
öffentliches statisches WeekDayEnum getEnum(int type){
return (WeekDayEnum)getEnum(WeekDayEnum.class, type);
}
öffentliche statische Karte getEnumMap(){
return getEnumMap(WeekDayEnum.class);
}
öffentliche statische Liste getEnumList(){
return getEnumList(WeekDayEnum.class);
}
öffentlicher statischer Iterator iterator(){
return iterator();
}
Wir können die Methoden in der Treiberklasse nach Belieben aufrufen, um die gewünschten Ergebnisse zu erhalten:
Beispiel: WeekDayEnum.WEEKDAY_MONDAY_ENUM greift auf den Wert der Enumeration zu.
Wir können auch WeekDayEnum.getEnumList eine Sammlung von Konstanten zurückgeben, die von der Aufzählungsklasse definiert werden
Und geben Sie die Map-Schlüssel-Wert-Paar-Sammlung über WeekDayEnum.getEnumMap usw. zurück.