Løst: vælg tilfældig enum

Som en erfaren Java-udvikler og en kender af mode, har vi ofte til opgave at skabe unikke løsninger på komplekse problemer. Et sådant dilemma er den tilfældige udvælgelse fra en opregning (Enum) i Java. Du har måske allerede gættet, at der ikke er nogen indbygget metode i Java, der giver denne funktion direkte - en almindelig funktion i sprog som Python. På trods af dette giver Java os de nødvendige værktøjer til at spinde vores egen løsning.

Optællinger, de ubeskrevne helte i mange programmer, er i det væsentlige en type, hvis felt består af et fast sæt konstanter. Ofte ønsker vi at vælge en tilfældig værdi fra dette sæt. Formålet med denne artikel er at illustrere denne proces.

Generering af Random Enum i 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];
}

Lad os nedbryde denne 'randomEnum'-metode. For det første definerer vi denne metode til at være generisk indtastet - det betyder, at den kan acceptere enums af enhver type. 'Random' er en klasse, der genererer en strøm af pseudotilfældige tal, som vi her bruger til at bestemme et tilfældigt indeks til udvælgelse. Dette indeks 'x' er en int, hvis maksimale værdi er begrænset af størrelsen af ​​vores opregning eller mere præcist længden af ​​rækken af ​​enum-konstanter for vores beståede 'clazz' (klasseobjekt).

Efter at have oprettet 'x' returnerer vi en tilfældig Enum-konstant ved hjælp af array-indeksering med vores tilfældigt genererede 'x'. Skønheden ved denne metode er dens fleksibilitet - den fungerer med enhver opregning!

Forstå enums i Java

Enum i Java er en datatype, der indeholder et fast sæt konstanter. Enum-konstruktører er altid private eller standard, og du bruger typisk Enums, når du har værdier, som du ved ikke kommer til at ændre sig, såsom dagene i en uge, retninger (nord, syd, øst, vest) og så videre.

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

Enum-typer er meget mere kraftfulde, end vi tror. I Java er enum-typen en robust variant af den traditionelle datatype, som giver os mulighed for at definere en returtype for en bestemt metode, som en parameter til denne metode eller endda som et klasseobjekt.

Brug og fleksibilitet af vores Java-metode

'randomEnum'-metoden fungerer som et praktisk værktøj til ethvert Java-projekt. Dens kraft ligger i dens fleksibilitet - vi kan kalde denne metode med enhver opregningstype, og den vil returnere en konstant af denne opregning tilfældigt.

Det er bemærkelsesværdigt at nævne, at computergenereret tilfældighed er et fascinerende emne i sig selv, der involverer meget komplekse algoritmer og er afgørende i simuleringer og generering af komplekse datasæt. Vores 'randomEnum'-metode er et lille, men kraftfuldt eksempel på, hvordan Java udnytter pseudorandomness i sin enorme programmeringsværktøjskasse.

Med hensyn til mode, tænk på vores 'randomEnum'-metode som den lille sorte kjole i din Java-garderobe. Ligesom den lille sorte kjole tjener flere formål og kan pyntes op eller ned afhængigt af lejligheden, kan vores 'randomEnum'-metode tilpasses og passer problemfrit ind i ethvert Java-projekt, hvor du skal generere tilfældige optællinger, uanset situationen eller enum-typen .

Relaterede indlæg:

Efterlad en kommentar