لقد أضاف JavaSE 5.0 دعمًا للتعدادات، ولن أتناول بالتفصيل استخدام التعدادات. باختصار، يمكن تعريف الثوابت في التعدادات لتستخدمها أجزاء أخرى من البرنامج.
يوفر نوع التعداد المدمج في Java فقط تعريف اسم التعداد، مما يعني 1، 2،. . انتظر القيمة الفعلية المقابلة.
باستخدام النوع ValuedEnum ضمن الحزمة org.apache.commons.lang.enums، يمكننا توفير وظائف أكثر قوة من خلال توسيع هذه الفئة. كما يوحي الاسم، ValuedEnum ---- هو تعداد مسمى يمكننا تحديد اسم التعداد حسب الرغبة، توفر هذه الفئة العديد من الأساليب، مثل getEnumMap، وgetEnumList، وinterator، وغيرها من الأساليب، للوصول إلى ثوابت التعداد. فصل. . وهنا مثال على ذلك:
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.enums.ValuedEnum;
الطبقة النهائية العامة WeekDayEnum تمتد ValuedEnum{
/**
*
*/
public VersionUID النهائي الطويل الثابت = 732377557389126868L;
نهائي ثابت خاص الاثنين = 1؛
نهائي ثابت خاص يوم الثلاثاء = 2؛
نهائي ثابت خاص int WEDSDAY=3;
نهائي ثابت خاص THURSDAY = 4؛
نهائي ثابت خاص FRIDAY = 5؛
نهائي ثابت خاص int SATDAY=6;
نهائي ثابت خاص SUNDAY=7;
WeekDayEnum النهائي العام الثابت WEEKDAY_MONDAY_ENUM = new WeekDayEnum("Monday",MONDAY);
WeekDayEnum النهائي العام الثابت WEEKDAY_TUESDAY_ENUM = new WeekDayEnum("Tuesday",TUESDAY);
WeekDayEnum النهائي العام الثابت WEEKDAY_WEDSDAY_ENUM = new WeekDayEnum("Wednesday",WEDSDAY);
WeekDayEnum النهائي العام الثابت WEEKDAY_THURSDAY_ENUM = new WeekDayEnum("Thursday",THURSDAY);
WeekDayEnum النهائي العام الثابت WEEKDAY_FRIDAY_ENUM = new WeekDayEnum("Friday",FRIDAY);
WeekDayEnum النهائي العام الثابت WEEKDAY_SATDAY_ENUM = new WeekDayEnum("Saturday",SATDAY);
WeekDayEnum النهائي العام الثابت WEEKDAY_SUNDAY_ENUM = new WeekDayEnum("Sunday",SUNDAY);
محمي WeekDayEnum(اسم السلسلة، قيمة int) {
سوبر (الاسم، القيمة)؛
}
WeekDayEnum العام الثابت getEnum(نوع السلسلة){
return (WeekDayEnum)getEnum(WeekDayEnum.class, type);
}
WeekDayEnum العام الثابت getEnum(int type){
return (WeekDayEnum)getEnum(WeekDayEnum.class, type);
}
الخريطة الثابتة العامة getEnumMap(){
إرجاع getEnumMap(WeekDayEnum.class);
}
القائمة الثابتة العامة getEnumList(){
إرجاع getEnumList(WeekDayEnum.class);
}
مكرر ثابت عام مكرر () {
مكرر العودة () ؛
}
يمكننا استدعاء الأساليب الموجودة في فئة السائق حسب الرغبة للحصول على النتائج التي نريدها:
على سبيل المثال: WeekDayEnum.WEEKDAY_MONDAY_ENUM يصل إلى قيمة التعداد.
يمكننا أيضًا أن تقوم WeekDayEnum.getEnumList بإرجاع مجموعة من الثوابت المحددة بواسطة فئة التعداد
وقم بإرجاع مجموعة أزواج قيمة مفتاح الخريطة الخاصة بها من خلال WeekDayEnum.getEnumMap، وما إلى ذلك.