คู่มือสำหรับผู้เริ่มต้นใช้งาน Java eNum – ทำไมและเพื่ออะไร ฉันควรใช้ Enum? ตัวอย่าง Java Enum

เผยแพร่แล้ว: 2019-04-23

คู่มือสำหรับผู้เริ่มต้นใช้งาน Java eNum - Crunchify Tips

Enums คือรายการของ constants เช่นตัวแปรที่ไม่สามารถเปลี่ยนแปลงได้ คุณเคยได้ยิน Final keyword หรือไม่? ประมาณนั้นแหละ.

เมื่อคุณต้องการรายการค่าที่กำหนดไว้ล่วงหน้าซึ่งแสดงถึงข้อมูลตัวเลขหรือข้อความบางประเภท คุณควรใช้ enum ตัวอย่างเช่น ในเกมหมากรุก คุณสามารถแสดงชิ้นส่วนประเภทต่างๆ เป็น enum:

คุณควรใช้ enums เสมอเมื่อตัวแปร (โดยเฉพาะพารามิเตอร์ method) สามารถดึงค่าที่เป็นไปได้ชุดเล็ก ๆ ได้เพียงหนึ่งชุดเท่านั้น ตัวอย่างเช่น ค่าคงที่ประเภท (สถานะสัญญา: "ถาวร", "ชั่วคราว", "ฝึกงาน") หรือแฟล็ก ("ดำเนินการทันที", "เลื่อนการดำเนินการ")

หากคุณใช้ enums แทนจำนวนเต็ม (หรือรหัสสตริง) คุณจะเพิ่มการตรวจสอบเวลาคอมไพล์และหลีกเลี่ยงข้อผิดพลาดจากการส่งผ่านค่าคงที่ที่ไม่ถูกต้อง และคุณบันทึกว่าค่าใดถูกต้องตามกฎหมายที่จะใช้

beginners-guide-to-java-enum-why-and-for-what-should-i-use-enum

ตัวอย่าง จาวา :

เอาท์พุท:

บางจุดที่สำคัญมากใน Java Enum:

จุด-1

enum ทั้งหมด ขยายโดยปริยาย java.lang.Enum เนื่องจาก Java ไม่รองรับการสืบทอดหลายรายการ enum จึงไม่สามารถขยายสิ่งอื่นใดได้

จุด-2

Enum in Java are type-safe: Enum มีเนมสเปซของตัวเอง หมายความว่า enum ของคุณจะมีประเภทเช่น “บริษัท” ในตัวอย่างด้านล่าง และคุณไม่สามารถกำหนดค่าอื่นใดนอกจากที่ระบุไว้ในค่าคงที่ของ Enum

จุด-3

คุณสามารถระบุค่าของค่าคงที่ enum ได้ในเวลาที่สร้าง MyEnum.values() คืนค่าอาร์เรย์ของค่าของ MyEnum

เอาท์พุท:

จุด-4

ค่าคงที่ Enum เป็นค่าคงที่โดยปริยายและเป็นค่าสุดท้าย และไม่สามารถเปลี่ยนแปลงได้เมื่อสร้างแล้ว

พอยต์-5

Enum สามารถเปรียบเทียบได้อย่างปลอดภัยโดยใช้:

  1. คำชี้แจงกรณีสวิตช์
  2. == โอเปอเรเตอร์
  3. .equals() method โปรดปฏิบัติตามบทช่วยสอนฉบับสมบูรณ์

จุด-6

คุณไม่สามารถสร้างอินสแตนซ์ของ enums โดยใช้ตัวดำเนินการใหม่ใน Java เนื่องจากตัวสร้างของ Enum ใน Java สามารถเป็นแบบส่วนตัวได้เท่านั้น และค่าคงที่ Enums สามารถสร้างได้ภายใน Enums เท่านั้น

จุด-7

อินสแตนซ์ของ Enum ใน Java ถูกสร้างขึ้นเมื่อมีการเรียกหรืออ้างอิงค่าคงที่ Enum ครั้งแรกในโค้ด

จุด-8

enum ระบุรายการของค่าคงที่ที่กำหนดให้กับประเภท

จุด-9

สามารถประกาศ enum ภายนอกหรือภายในคลาสได้ แต่ไม่ใช่ในเมธอด

จุด-10

enum ที่ประกาศนอกคลาสจะต้องไม่ถูกทำเครื่องหมาย static, final , abstract, protected , หรือ private

จุด-11

Enum สามารถมีตัวสร้าง เมธอด ตัวแปร และเนื้อหาคลาสคงที่ได้

จุด-12

ค่าคงที่ enum สามารถส่งอาร์กิวเมนต์ไปยังตัวสร้าง enum โดยใช้ไวยากรณ์ BIG(8) โดยที่ int ตามตัวอักษร 8 ถูกส่งไปยังตัวสร้าง enum

จุด-13

ตัวสร้าง enum สามารถมีอาร์กิวเมนต์ และสามารถโอเวอร์โหลดได้

จุด-14

ตัวสร้าง enum ไม่สามารถเรียกใช้โดยตรงในโค้ด พวกมันจะถูกเรียกโดยอัตโนมัติเสมอเมื่อ enum ถูกเตรียมใช้งาน

จุด-15

เครื่องหมายอัฒภาคที่ส่วนท้ายของการประกาศ enum เป็นทางเลือก

สิ่งเหล่านี้ถูกกฎหมาย:

  • enum Foo { หนึ่ง สอง สาม}
  • enum Foo { หนึ่ง สอง สาม};

ตัวอย่าง Java eNUM อย่างง่าย:

enum_data_type - Crunchfiy

Enums คือรายการของค่าคงที่ เมื่อคุณต้องการรายการค่าที่กำหนดไว้ล่วงหน้าซึ่งแสดงถึงข้อมูลตัวเลขหรือข้อความบางประเภท คุณควรใช้ enum

คุณควรใช้ enums เสมอเมื่อตัวแปร (โดยเฉพาะพารามิเตอร์ method) สามารถดึงค่าที่เป็นไปได้ชุดเล็ก ๆ ได้เพียงหนึ่งชุดเท่านั้น ตัวอย่างเช่น ค่าคงที่ประเภท (สถานะสัญญา: "ถาวร", "ชั่วคราว", "ฝึกงาน") หรือแฟล็ก ("ดำเนินการทันที", "เลื่อนการดำเนินการ")

หากคุณใช้ enums แทนจำนวนเต็ม (หรือรหัสสตริง) คุณจะเพิ่มการตรวจสอบเวลาคอมไพล์และหลีกเลี่ยงข้อผิดพลาดจากการส่งผ่านค่าคงที่ที่ไม่ถูกต้อง และคุณบันทึกว่าค่าใดถูกต้องตามกฎหมายที่จะใช้

ระหว่าง การใช้ enums มากเกินไปอาจหมายความว่าวิธีการของคุณทำมากเกินไป (มักจะดีกว่าที่จะมีหลายวิธีแยกกัน แทนที่จะเป็นวิธีเดียวที่ใช้แฟล็กหลายอย่างซึ่งปรับเปลี่ยนสิ่งที่ทำ) แต่ถ้าคุณต้องใช้แฟล็กหรือรหัสประเภท enums เป็นวิธีที่จะไป

นี่เป็นตัวอย่าง Java eNum ที่ง่ายมาก

เอาท์พุท: