Solved: pumili ng random na enum

Bilang isang bihasang Java Developer at isang eksperto sa fashion, madalas kaming naatasan sa paglikha ng mga natatanging solusyon sa mga kumplikadong problema. Ang isang ganoong dilemma ay ang random na pagpili mula sa isang enumeration (Enum) sa Java. Maaaring nahulaan mo na na walang built-in na pamamaraan sa Java na direktang nagbibigay ng function na ito - isang karaniwang tampok sa mga wika tulad ng Python. Sa kabila nito, binibigyan tayo ng Java ng mga kinakailangang tool upang paikutin ang sarili nating solusyon.

Ang mga enumerasyon, ang hindi kilalang bayani ng maraming programa, ay mahalagang isang uri na ang field ay binubuo ng isang nakapirming hanay ng mga constant. Kadalasan gusto naming pumili ng random na halaga mula sa set na ito. Ang layunin ng artikulong ito ay upang ilarawan ang prosesong ito.

Pagbuo ng Random na Enum sa 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];
}

Hatiin natin itong 'randomEnum' na paraan. Una, tinukoy namin ang pamamaraang ito na karaniwang na-type - nangangahulugan ito na maaari itong tumanggap ng mga enum ng anumang uri. Ang 'Random' ay isang klase na bumubuo ng isang stream ng mga pseudorandom na numero, na ginagamit namin dito upang matukoy ang isang random na index para sa pagpili. Ang index na 'x' na ito ay isang int, ang maximum na halaga nito ay nililimitahan ng laki ng aming enumeration o, mas tumpak, ang haba ng array ng enum constants ng aming naipasa na 'clazz' (Class object).

Pagkatapos gumawa ng 'x', nagbabalik kami ng random na Enum constant gamit ang array indexing gamit ang aming random na nabuong 'x'. Ang kagandahan ng pamamaraang ito ay ang kakayahang umangkop nito - gumagana ito sa anumang enumeration!

Pag-unawa sa Enums sa Java

Ang Enum sa Java ay isang uri ng data na naglalaman ng isang nakapirming hanay ng mga constant. Palaging pribado o default ang mga konstruktor ng Enum, at karaniwan mong ginagamit ang mga Enum kapag mayroon kang mga halaga na alam mong hindi magbabago, tulad ng mga araw sa isang linggo, mga direksyon (Hilaga, Timog, Silangan, Kanluran), at iba pa.

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

Ang mga uri ng enum ay mas makapangyarihan kaysa sa iniisip natin. Sa Java, ang uri ng enum ay isang matatag na variant ng tradisyunal na uri ng data na nagbibigay-daan sa amin na tukuyin ang isang uri ng pagbabalik para sa isang partikular na pamamaraan, bilang isang parameter sa paraang iyon o kahit na isang bagay ng klase.

Paggamit at Flexibility ng aming Java Method

Ang pamamaraang 'randomEnum' ay nagsisilbing isang madaling gamiting utility para sa anumang proyekto ng Java. Ang kapangyarihan nito ay nakasalalay sa kakayahang umangkop nito - maaari nating tawagan ang pamamaraang ito sa anumang uri ng enum at ibabalik nito ang isang pare-pareho ng enumeration na iyon nang random.

Kapansin-pansing banggitin na ang computer-generated randomness ay isang kaakit-akit na paksa sa sarili nitong, na kinasasangkutan ng lubos na kumplikadong mga algorithm at ito ay mahalaga sa mga simulation at sa pagbuo ng mga kumplikadong set ng data. Ang aming 'randomEnum' na paraan ay isang maliit ngunit makapangyarihang halimbawa kung paano ginagamit ng Java ang pseudorandomness sa malawak nitong toolbox ng programming.

Sa mga tuntunin sa fashion, isipin ang aming 'randomEnum' na paraan bilang maliit na itim na damit ng iyong Java wardrobe. Kung paanong ang maliit na itim na damit ay nagsisilbi ng maraming layunin at maaaring bihisan nang pataas o pababa depende sa okasyon, ang aming 'randomEnum' na paraan ay madaling ibagay, na akma nang walang putol sa anumang proyekto ng Java kung saan kailangan mong bumuo ng mga random na enum, anuman ang sitwasyon o uri ng enum .

Kaugnay na mga post:

Mag-iwan ng komento