แก้ไขแล้ว: เลือกสุ่มแจงนับ

ในฐานะนักพัฒนา Java ที่มีประสบการณ์และผู้เชี่ยวชาญด้านแฟชั่น เรามักได้รับมอบหมายให้สร้างโซลูชันเฉพาะสำหรับปัญหาที่ซับซ้อน ภาวะที่กลืนไม่เข้าคายไม่ออกประการหนึ่งคือการสุ่มเลือกจากการแจงนับ (Enum) ในภาษา Java คุณอาจเดาได้แล้วว่าไม่มีวิธีการในตัวใน Java ที่ให้ฟังก์ชันนี้โดยตรง ซึ่งเป็นคุณสมบัติทั่วไปในภาษาเช่น Python อย่างไรก็ตาม Java ก็มอบเครื่องมือที่จำเป็นแก่เราในการหมุนโซลูชันของเราเอง

การแจงนับซึ่งเป็นฮีโร่ที่ไม่ได้ร้องของหลายๆ โปรแกรม นั้นเป็นประเภทที่ฟิลด์ประกอบด้วยชุดค่าคงที่คงที่ บ่อยครั้งที่เราต้องการเลือกค่าสุ่มจากชุดนี้ จุดมุ่งหมายของบทความนี้คือเพื่ออธิบายกระบวนการนี้

การสร้าง Random Enum ใน Java

public static <T extends Enum<?>> T randomEnum(Class<T> clazz){
    Random random = new Random();
    int x = random.nextInt(clazz.getEnumConstants().length);
    return clazz.getEnumConstants()[x];
}

มาแจกแจงวิธีการ 'randomEnum' นี้กัน ประการแรก เรากำหนดให้วิธีนี้เป็นประเภททั่วไป ซึ่งหมายความว่าสามารถยอมรับการแจกแจงประเภทใดก็ได้ 'สุ่ม' คือคลาสที่สร้างกระแสตัวเลขสุ่มเทียม ซึ่งเราใช้ที่นี่เพื่อกำหนดดัชนีสุ่มสำหรับการเลือก ดัชนี 'x' นี้เป็น int ซึ่งค่าสูงสุดจะถูกจำกัดด้วยขนาดของการแจงนับของเรา หรือถ้าให้แม่นยำกว่านั้นคือความยาวของอาร์เรย์ของค่าคงที่แจงนับของ 'clazz' (วัตถุคลาส) ที่ส่งผ่านของเรา

หลังจากสร้าง 'x' เราจะส่งคืนค่าคงที่ Enum แบบสุ่มโดยใช้การจัดทำดัชนีอาร์เรย์ด้วย 'x' ที่สร้างขึ้นแบบสุ่มของเรา ข้อดีของวิธีนี้คือความยืดหยุ่น ซึ่งใช้ได้กับทุกการคำนวณ!

ทำความเข้าใจ Enums ใน Java

Enum ใน Java เป็นชนิดข้อมูลที่มีชุดค่าคงที่คงที่ ตัวสร้าง Enum เป็นแบบส่วนตัวหรือค่าเริ่มต้นเสมอ และโดยทั่วไปคุณจะใช้ Enum เมื่อคุณมีค่าที่คุณรู้ว่าจะไม่เปลี่ยนแปลง เช่น วันในสัปดาห์ ทิศทาง (เหนือ ใต้ ตะวันออก ตะวันตก) และอื่นๆ

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

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

การใช้งานและความยืดหยุ่นของวิธีการ Java ของเรา

เมธอด 'randomEnum' ทำหน้าที่เป็นยูทิลิตี้ที่มีประโยชน์สำหรับโปรเจ็กต์ Java ใด ๆ พลังของมันอยู่ที่ความยืดหยุ่น เราสามารถเรียกเมธอดนี้กับประเภท enum ใดก็ได้ และมันจะคืนค่าคงที่ของการแจงนับนั้นแบบสุ่ม

เป็นที่น่าสังเกตว่าการสุ่มที่สร้างโดยคอมพิวเตอร์เป็นหัวข้อที่น่าสนใจในตัวเอง ซึ่งเกี่ยวข้องกับอัลกอริธึมที่ซับซ้อนสูงและเป็นส่วนสำคัญในการจำลองและในการสร้างชุดข้อมูลที่ซับซ้อน วิธีการ 'randomEnum' ของเราเป็นตัวอย่างเล็กๆ แต่ทรงพลังของวิธีที่ Java ใช้ประโยชน์จากการสุ่มเทียมในกล่องเครื่องมือการเขียนโปรแกรมอันกว้างใหญ่ของมัน

ในแง่แฟชั่น ให้คิดว่าวิธี 'randomEnum' ของเราเป็นเหมือนชุดเดรสสีดำเล็กๆ ในตู้เสื้อผ้า Java ของคุณ เช่นเดียวกับที่ชุดเดรสสีดำตัวเล็กทำหน้าที่ได้หลายวัตถุประสงค์ และสามารถแต่งตัวขึ้นหรือลงได้ขึ้นอยู่กับโอกาส วิธีการ 'randomEnum' ของเราก็สามารถปรับเปลี่ยนได้ และเข้ากันได้อย่างลงตัวกับโปรเจ็กต์ Java ใดๆ ที่คุณต้องการสร้าง enum แบบสุ่ม โดยไม่คำนึงถึงสถานการณ์หรือประเภท enum .

กระทู้ที่เกี่ยวข้อง:

แสดงความคิดเห็น