JavaSE 5.0 ได้เพิ่มการรองรับสำหรับการแจกแจง ฉันจะไม่อธิบายอย่างละเอียดเกี่ยวกับการใช้การแจงนับ
ประเภทการแจงนับในตัวใน Java ให้คำจำกัดความของชื่อการแจงนับเท่านั้น ซึ่งหมายถึง 1, 2, - รอค่าจริงที่สอดคล้องกัน
การใช้ประเภท ValuedEnum ภายใต้แพ็คเกจ org.apache.commons.lang.enums ทำให้เราสามารถจัดเตรียมฟังก์ชันที่มีประสิทธิภาพมากขึ้นได้โดยการขยายคลาสนี้ ตามชื่อที่แนะนำ ValuedEnum ---- เป็นการแจงนับที่มีชื่อ เราสามารถกำหนดชื่อของการแจงนับได้ตามต้องการ คลาสนี้มีวิธีการมากมาย เช่น getEnumMap, getEnumList, interator และวิธีการอื่น ๆ เพื่อเข้าถึงค่าคงที่ของการแจงนับ ระดับ. . นี่คือตัวอย่าง:
นำเข้า java.util.Iterator;
นำเข้า java.util.List;
นำเข้า java.util.Map;
นำเข้า org.apache.commons.lang.enums.ValuedEnum;
คลาสสุดท้ายสาธารณะ WeekDayEnum ขยาย ValuedEnum {
-
-
-
สาธารณะคงสุดท้าย serialVersionUID ยาว = 732377557389126868L;
int สุดท้ายคงที่ส่วนตัว MONDAY=1;
int คงที่ส่วนตัวสุดท้ายวันอังคาร = 2;
int คงที่ส่วนตัวสุดท้าย WEDSDAY=3;
int สุดท้ายคงที่ส่วนตัววันพฤหัสบดี = 4;
int คงที่ส่วนตัวสุดท้ายวันศุกร์ = 5;
int สุดท้ายคงที่ส่วนตัว SATDAY=6;
int คงที่ส่วนตัวสุดท้าย SUNDAY=7;
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_MONDAY_ENUM = ใหม่ WeekDayEnum("วันจันทร์",MONDAY);
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_TUESDAY_ENUM = ใหม่ WeekDayEnum("วันอังคาร",วันอังคาร);
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_WEDSDAY_ENUM = ใหม่ WeekDayEnum("วันพุธ",วันพุธ);
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_THURSDAY_ENUM = ใหม่ WeekDayEnum ("วันพฤหัสบดี", วันพฤหัสบดี);
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_FRIDAY_ENUM = ใหม่ WeekDayEnum("วันศุกร์",วันศุกร์);
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_SATDAY_ENUM = ใหม่ WeekDayEnum("วันเสาร์",SATDAY);
สาธารณะคงสุดท้าย WeekDayEnum WEEKDAY_SUNDAY_ENUM = ใหม่ WeekDayEnum("วันอาทิตย์",SUNDAY);
ป้องกัน WeekDayEnum (ชื่อสตริง, ค่า int) {
ซุปเปอร์ (ชื่อ, ค่า);
-
สาธารณะ WeekDayEnum getEnum แบบคงที่ (ประเภทสตริง) {
กลับ (WeekDayEnum)getEnum(WeekDayEnum.class, ประเภท);
-
สาธารณะ WeekDayEnum getEnum แบบคงที่ (ประเภท int) {
กลับ (WeekDayEnum)getEnum(WeekDayEnum.class, ประเภท);
-
แผนที่สาธารณะคงที่ getEnumMap(){
กลับ getEnumMap (WeekDayEnum.class);
-
รายการคงที่สาธารณะ getEnumList(){
กลับ getEnumList (WeekDayEnum.class);
-
ตัววนซ้ำแบบคงที่สาธารณะ () {
กลับตัววนซ้ำ ();
-
เราสามารถเรียกเมธอดในคลาสไดรเวอร์ได้ตามต้องการเพื่อให้ได้ผลลัพธ์ที่เราต้องการ:
ตัวอย่างเช่น: WeekDayEnum.WEEKDAY_MONDAY_ENUM เข้าถึงค่าของการแจงนับ
นอกจากนี้เรายังสามารถ WeekDayEnum.getEnumList ส่งคืนคอลเลกชันของค่าคงที่ที่กำหนดโดยคลาสการแจงนับ
และส่งคืนคอลเลกชันคู่คีย์-ค่า Map ผ่าน WeekDayEnum.getEnumMap เป็นต้น