JavaSE 5.0 telah menambahkan dukungan untuk enumerasi. Saya tidak akan menguraikan penggunaan enumerasi. Singkatnya, konstanta dapat didefinisikan dalam enumerasi untuk digunakan oleh bagian lain dari program.
Tipe enumerasi bawaan di Java hanya memberikan definisi nama enumerasi, yang menyiratkan 1, 2,. . Tunggu nilai aktual yang sesuai.
Menggunakan tipe ValuedEnum di bawah paket org.apache.commons.lang.enums, kami dapat menyediakan fungsi yang lebih canggih dengan memperluas kelas ini. Seperti namanya, ValuedEnum----adalah enumerasi bernama. Kita dapat menentukan nama enumerasi sesuka hati. Kelas ini menyediakan banyak metode, seperti getEnumMap, getEnumList, interator, dan metode lainnya, untuk mengakses konstanta enumerasi. kelas. . Berikut ini contohnya:
impor java.util.Iterator;
impor java.util.List;
import java.util.Map;
import org.apache.commons.lang.enums.ValuedEnum;
kelas akhir publik WeekDayEnum memperluas ValuedEnum{
/**
*
*/
serialVersionUID panjang akhir statis publik = 732377557389126868L;
int final statis pribadi SENIN=1;
private static final int SELASA=2;
int akhir statis pribadi WEDSDAY=3;
private static final int KAMIS = 4;
int final statis pribadi JUMAT=5;
int final statis pribadi SABTU=6;
int final statis pribadi MINGGU=7;
WeekDayEnum akhir statis publik WEEKDAY_MONDAY_ENUM = WeekDayEnum baru("Senin",MONDAY);
public static final WeekDayEnum WEEKDAY_TUESDAY_ENUM = new WeekDayEnum("Selasa",TUESDAY);
public static final WeekDayEnum WEEKDAY_WEDSDAY_ENUM = new WeekDayEnum("Rabu",WEDSDAY);
public static final WeekDayEnum WEEKDAY_THURSDAY_ENUM = new WeekDayEnum("Kamis",THURSDAY);
public static final WeekDayEnum WEEKDAY_FRIDAY_ENUM = new WeekDayEnum("Friday",FRIDAY);
public static final WeekDayEnum WEEKDAY_SATDAY_ENUM = new WeekDayEnum("Sabtu",SATDAY);
public static final WeekDayEnum WEEKDAY_SUNDAY_ENUM = new WeekDayEnum("Minggu",SUNDAY);
dilindungi WeekDayEnum(Nama string, nilai int) {
super(nama, nilai);
}
public static WeekDayEnum getEnum(Jenis string){
return (WeekDayEnum)getEnum(WeekDayEnum.class, ketik);
}
public static WeekDayEnum getEnum(tipe int){
return (WeekDayEnum)getEnum(WeekDayEnum.class, ketik);
}
Peta statis publik getEnumMap(){
kembalikan getEnumMap(WeekDayEnum.class);
}
Daftar statis publik getEnumList(){
kembalikan getEnumList(WeekDayEnum.class);
}
iterator statis publik iterator(){
kembalikan iterator();
}
Kita bisa memanggil metode di kelas driver sesuka hati untuk mendapatkan hasil yang kita inginkan:
Misalnya: WeekDayEnum.WEEKDAY_MONDAY_ENUM mengakses nilai enumerasi.
Kita juga dapat WeekDayEnum.getEnumList mengembalikan kumpulan konstanta yang ditentukan oleh kelas enumerasi
Dan kembalikan koleksi pasangan nilai kunci Peta melalui WeekDayEnum.getEnumMap, dll.