JavaSE 5.0 a ajouté la prise en charge des énumérations. Je ne m'étendrai pas sur l'utilisation des énumérations. En bref, des constantes peuvent être définies dans les énumérations pour être utilisées par d'autres parties du programme.
Le type d'énumération intégré à Java fournit uniquement la définition du nom de l'énumération, impliquant 1, 2,. . Attendez la valeur réelle correspondante.
En utilisant le type ValuedEnum sous le package org.apache.commons.lang.enums, nous pouvons fournir des fonctions plus puissantes en étendant cette classe. Comme son nom l'indique, ValuedEnum ---- est une énumération nommée. Nous pouvons définir le nom de l'énumération à volonté. Cette classe fournit de nombreuses méthodes, telles que getEnumMap, getEnumList, interator et d'autres méthodes, pour accéder aux constantes de l'énumération. classe. . En voici un exemple :
importer java.util.Iterator ;
importer java.util.List ;
importer java.util.Map ;
importer org.apache.commons.lang.enums.ValuedEnum ;
la classe finale publique WeekDayEnum étend ValuedEnum{
/**
*
*/
public statique final long serialVersionUID = 732377557389126868L;
privé statique final int LUNDI=1 ;
private static final int MARDI=2 ;
private static final int MERCREDI=3 ;
private static final int JEUDI = 4 ;
privé statique final int VENDREDI=5 ;
privé statique final int SATDAY=6 ;
privé statique final int DIMANCHE=7 ;
public static final WeekDayEnum WEEKDAY_MONDAY_ENUM = new WeekDayEnum("Lundi",MONDAY);
public static final WeekDayEnum WEEKDAY_TUESDAY_ENUM = new WeekDayEnum("Mardi",TUESDAY);
public static final WeekDayEnum WEEKDAY_WEDSDAY_ENUM = new WeekDayEnum("Mercredi",WEDSDAY);
public static final WeekDayEnum WEEKDAY_THURSDAY_ENUM = new WeekDayEnum("Jeudi",THURSDAY);
public static final WeekDayEnum WEEKDAY_FRIDAY_ENUM = new WeekDayEnum("Vendredi",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 (nom de la chaîne, valeur int) {
super(nom, valeur);
}
public statique WeekDayEnum getEnum (type de chaîne) {
return (WeekDayEnum)getEnum(WeekDayEnum.class, tapez);
}
public statique WeekDayEnum getEnum (type int) {
return (WeekDayEnum)getEnum(WeekDayEnum.class, tapez);
}
Carte statique publique getEnumMap(){
return getEnumMap(WeekDayEnum.class);
}
Liste statique publique getEnumList(){
return getEnumList(WeekDayEnum.class);
}
Itérateur statique public itérateur(){
retourner l'itérateur();
}
Nous pouvons appeler les méthodes de la classe driver à volonté pour obtenir les résultats souhaités :
Par exemple : WeekDayEnum.WEEKDAY_MONDAY_ENUM accède à la valeur de l'énumération.
On peut aussi WeekDayEnum.getEnumList renvoie une collection de constantes définies par la classe d'énumération
Et renvoyez sa collection de paires clé-valeur Map via WeekDayEnum.getEnumMap, etc.