Kogenud Java-arendaja ja moetundjana on meil sageli รผlesanne luua keerulistele probleemidele ainulaadseid lahendusi. รks selline dilemma on juhuslik valik Java keeles olevast loendist (Enum). Vรตib-olla olete juba arvanud, et Java-s pole sisseehitatud meetodit, mis seda funktsiooni otse pakuks โ see on tavapรคrane funktsioon sellistes keeltes nagu Python. Sellest hoolimata pakub Java meile vajalikke tรถรถriistu oma lahenduse loomiseks.
Loendused, paljude saadete laulmata kangelased, on sisuliselt tรผรผp, mille vรคli koosneb kindlast konstantide hulgast. Sageli soovime valida sellest komplektist juhusliku vรครคrtuse. Selle artikli eesmรคrk on seda protsessi illustreerida.
Juhusliku loendi genereerimine Javas
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]; }
Jagame selle "randomEnum" meetodi lahti. Esiteks mรครคrame selle meetodi รผldiseks tรผรผbiks โ see tรคhendab, et see vรตib aktsepteerida mis tahes tรผรผpi enumeid. โJuhuslikโ on klass, mis genereerib pseudojuhuslike arvude voo, mida kasutame siin juhusliku valiku indeksi mรครคramiseks. See indeks "x" on int, mille maksimumvรครคrtust piirab meie loendi suurus vรตi tรคpsemalt meie lรคbitud "clazz" (klassi objekt) enum-konstantide massiivi pikkus.
Pรคrast "x" loomist tagastame juhusliku Enumi konstandi, kasutades massiivi indekseerimist meie juhuslikult genereeritud "x"-ga. Selle meetodi ilu seisneb selle paindlikkuses โ see tรถรถtab iga loendusega!
Enumi mรตistmine Javas
Enum Javas on andmetรผรผp, mis sisaldab kindlat konstantide komplekti. Enumi konstruktorid on alati privaatsed vรตi vaikeseaded ja te kasutate Enumi tavaliselt siis, kui teil on vรครคrtused, mida teate, et need ei muutu, nรคiteks nรคdalapรคevad, juhised (pรตhja, lรตuna, ida, lรครคs) jne.
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Enum-tรผรผbid on palju vรตimsamad, kui me arvame. Javas on enum-tรผรผp traditsioonilise andmetรผรผbi robustne variant, mis vรตimaldab meil mรครคratleda teatud meetodi tagastustรผรผbi, selle meetodi parameetrina vรตi isegi klassiobjektina.
Meie Java-meetodi kasutamine ja paindlikkus
Meetod "randomEnum" on iga Java-projekti jaoks mugav utiliit. Selle vรตimsus seisneb paindlikkuses โ seda meetodit vรตib nimetada mis tahes enumtรผรผbiga ja see tagastab juhuslikult selle loendi konstandi.
Tรคhelepanuvรครคrne on mainida, et arvutiga loodud juhuslikkus on omaette pรตnev teema, mis hรตlmab vรคga keerulisi algoritme ja on simulatsioonides ja keeruliste andmekogumite loomisel keskse tรคhtsusega. Meie "randomEnum" meetod on vรคike, kuid vรตimas nรคide sellest, kuidas Java kasutab pseudojuhuslikkust oma tohutus programmeerimise tรถรถriistakastis.
Moe mรตttes mรตelge meie "randomEnum" meetodile kui teie Java riidekapi vรคikesele mustale kleidile. Nii nagu vรคikesel mustal kleidil on mitu eesmรคrki ja seda saab olenevalt olukorrast รผles vรตi alla riietada, on meie "randomEnum" meetod kohandatav, sobides sujuvalt igasse Java projekti, kus peate genereerima juhuslikke loendeid, olenemata olukorrast vรตi loendi tรผรผbist. .