JavaSE 5.0 adicionou suporte para enumerações. Não entrarei em detalhes sobre o uso de enumerações. Resumindo, constantes podem ser definidas em enumerações para uso por outras partes do programa.
O tipo de enumeração integrado em Java fornece apenas a definição do nome da enumeração, implicando 1, 2,. . Aguarde o valor real correspondente.
Usando o tipo ValuedEnum no pacote org.apache.commons.lang.enums, podemos fornecer funções mais poderosas estendendo esta classe. Como o nome sugere, ValuedEnum ---- é uma enumeração nomeada. Podemos definir o nome da enumeração à vontade. Esta classe fornece muitos métodos, como getEnumMap, getEnumList, interator e outros métodos, para acessar as constantes da enumeração. aula. . Aqui está um exemplo disso:
importar java.util.Iterator;
importar java.util.List;
importar java.util.Map;
importar org.apache.commons.lang.enums.ValuedEnum;
classe final pública WeekDayEnum estende ValuedEnum{
/**
*
*/
público estático final longo serialVersionUID = 732377557389126868L;
private static final int SEGUNDA-FEIRA=1;
private static final int TERÇA=2;
private static final int QUARTA=3;
private static final int QUINTA-FEIRA = 4;
private static final int SEXTA-FEIRA=5;
private static final int SATDAY=6;
private static final int DOMINGO=7;
public static final WeekDayEnum WEEKDAY_MONDAY_ENUM = new WeekDayEnum("Segunda-feira",MONDAY);
public static final WeekDayEnum WEEKDAY_TUESDAY_ENUM = new WeekDayEnum("Terça", TERÇA);
public static final WeekDayEnum WEEKDAY_WEDSDAY_ENUM = new WeekDayEnum("Quarta-feira",QUARTA-FEIRA);
public static final WeekDayEnum WEEKDAY_THURSDAY_ENUM = new WeekDayEnum("Quinta", QUINTA);
public static final WeekDayEnum WEEKDAY_FRIDAY_ENUM = new WeekDayEnum("Sexta-feira",FRIDAY);
public static final WeekDayEnum WEEKDAY_SATDAY_ENUM = new WeekDayEnum("Sábado",SATDAY);
public static final WeekDayEnum WEEKDAY_SUNDAY_ENUM = new WeekDayEnum("Domingo",DOMINGO);
protegido WeekDayEnum (nome da string, valor interno) {
super(nome, valor);
}
public static WeekDayEnum getEnum(tipo String){
return (WeekDayEnum)getEnum(WeekDayEnum.class, tipo);
}
public static WeekDayEnum getEnum(int tipo){
return (WeekDayEnum)getEnum(WeekDayEnum.class, tipo);
}
mapa estático público getEnumMap(){
retornar getEnumMap(WeekDayEnum.class);
}
Lista estática pública getEnumList(){
retornar getEnumList(WeekDayEnum.class);
}
iterador estático público iterador(){
retornar iterador();
}
Podemos chamar os métodos da classe driver à vontade para obter os resultados que desejamos:
Por exemplo: WeekDayEnum.WEEKDAY_MONDAY_ENUM acessa o valor da enumeração.
Também podemos WeekDayEnum.getEnumList retornar uma coleção de constantes definidas pela classe de enumeração
E retorne sua coleção de pares de valores-chave do mapa por meio de WeekDayEnum.getEnumMap, etc.