รู้เบื้องต้นเกี่ยวกับการแจงนับ:
ทำไมต้องใช้การแจงนับ:
การแจงนับเป็นประเภทใหม่ที่เพิ่มหลังจาก Java 1.5 สามารถใช้เพื่อกำหนดชุดของตัวแปรที่มีช่วงค่าคงที่
ก่อนที่จะมีการแจงนับเพื่อกำหนดตัวแปรดังกล่าวมักจะกำหนดตัวแปรที่แตกต่างกันโดยการกำหนดอินเทอร์เฟซ
ใช้การกำหนดจำนวนเต็มที่แตกต่างกัน แต่สิ่งนี้มีข้อเสียที่ชัดเจน:
1. ความถูกต้องตามกฎหมายของค่าที่กำหนดไว้ไม่สามารถรับประกันได้;
ในการเขียนโปรแกรมจริงมักจะมี "ชุดข้อมูล" ซึ่งค่ามีความเสถียรในโปรแกรมและองค์ประกอบใน "ชุดข้อมูล" มี จำกัด
ตัวอย่างเช่นองค์ประกอบข้อมูลเจ็ดรายการตั้งแต่วันจันทร์ถึงวันอาทิตย์เป็น "ชุดข้อมูล" หนึ่งสัปดาห์และองค์ประกอบข้อมูลสี่รายการจากฤดูใบไม้ผลิฤดูร้อนฤดูใบไม้ร่วงและฤดูหนาวเป็น "ชุดข้อมูล" ของสี่ฤดูกาล
จะใช้ "ชุดข้อมูล" เหล่านี้ได้ดีขึ้นใน Java ได้ดีขึ้น? ดังนั้นการแจงนับจึงมีประโยชน์และรหัสต่อไปนี้แนะนำการใช้งานของ enums ในรายละเอียด
แพ็คเกจ com.ljq.test;/*** รายละเอียดคำอธิบายของการใช้ enum**@author jiqinlin**/คลาสสาธารณะ testenum {/*** enum ปกติ**@author jiqinlin **/enum public colorenum {สีแดง, สีเขียว, สีเหลือง, สีน้ำเงิน; ถึงมัน** @author jiqinlin **/public enum seasonenum {// note: enum เขียนไว้ด้านหน้ามิฉะนั้นจะมีข้อผิดพลาดในการรวบรวมฤดูใบไม้ผลิฤดูร้อนฤดูใบไม้ร่วงฤดูหนาว; ตำแหน่งสตริงคงสุดท้ายส่วนตัว = "ทดสอบ"; seasonenum คงที่สาธารณะ getSeason () {ถ้า ("ทดสอบ" .Equals (ตำแหน่ง)) กลับสปริง; Elsereturn Winter;}}/*** เพศ*** ใช้ enum กับ constructor** @author jiqinlin ** การรวบรวม // การมอบหมายจะต้องเป็นทั้งหมดหรือไม่ได้รับมอบหมายและส่วนหนึ่งของการมอบหมายไม่สามารถกำหนดได้และไม่สามารถกำหนดส่วนหนึ่งได้โดยไม่ต้องมอบหมาย หากไม่มีการมอบหมายตัวสร้างไม่สามารถเขียนได้และการรวบรวมการมอบหมายยังมีข้อผิดพลาดในมนุษย์ ("ผู้ชาย") ผู้หญิง ("ผู้หญิง"); ค่าสตริงสุดท้ายส่วนตัว; // ตัวสร้างสามารถเป็นส่วนตัวได้โดยค่าเริ่มต้นเท่านั้น วิธีการ**@author jiqinlin **/enum public enum orderstate {/** ยกเลิก*/ยกเลิก {สตริงสาธารณะ getName () {return "ยกเลิก";}},/** ที่จะตรวจสอบ*/waitconfirm {สตริงสาธารณะ getName () {return " "รอการชำระเงิน";}},/** ส่ง*/admeasureproduct {สตริงสาธารณะ getName () {return "ส่ง";}},/** รอการส่งมอบ*/waitdeliver {สตริงสาธารณะ getName () {return "รอการส่งมอบ";}},/** ได้รับ*/ได้รับ {สตริงสาธารณะ getName () {return "ได้รับ";}}; สตริงนามธรรมสาธารณะ getName ();} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// enum เป็นประเภทที่ใช้ในการกำหนดตัวแปรเพื่อ จำกัด การกำหนดตัวแปร; เมื่อกำหนดค่าใน enum จะได้รับผ่าน "enum name.value" colorenum colorenum = colorenum.blue; สวิตช์ (colorenum) {เคสสีแดง: system.out.println ("สีเป็นสีแดง"); สีน้ำเงิน: System.out.println ("สีเป็นสีน้ำเงิน"); break;} // transip enum system.out.println ("transip ค่าใน colorenum enum"); สำหรับ (colorenum color: colorenum.values () {system.out.println (สี); "+colorenum.values (). ความยาว+"); // รับตำแหน่งดัชนีของ enum lorenum.yellow.ordinal ()); // 2system.out.println (colorenum.blue.ordinal ()); // 3 // การแจงนับใช้อินเตอร์เฟส java.lang.comparable โดยค่าเริ่มต้น System.out.println (colorenum.red.compareto (colorenum.green)); //-1 // ------------------------------------------------------------------------------------------------------------------------------------------------------ - + seasonenum.getSeason ()); // -------------- System.out.println ("==========="); สำหรับ (เพศเพศ: เพศ ()) {system.out.println (เพศ) orderstate.values ()) {system.out.println (order.getName ());}}}