Решено: изберете произволно изброяване

Като опитен Java разработчик и познавач на модата, ние често сме натоварени със задачата да създаваме уникални решения на сложни проблеми. Една такава дилема е случайният избор от изброяване (Enum) в Java. Може би вече сте се досетили, че в Java няма вграден метод, който предоставя тази функция директно – често срещана функция в езици като Python. Въпреки това Java ни предоставя необходимите инструменти, за да създадем собствено решение.

Изброяванията, невъзпятите герои на много програми, по същество са тип, чието поле се състои от фиксиран набор от константи. Често искаме да изберем произволна стойност от този набор. Целта на тази статия е да илюстрира този процес.

Генериране на случаен списък в 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“. Първо, ние дефинираме този метод като генерично типизиран – това означава, че може да приема enum от всякакъв тип. „Random“ е клас, който генерира поток от псевдослучайни числа, които използваме тук, за да определим случаен индекс за избор. Този индекс ‘x’ е int, чиято максимална стойност е ограничена от размера на нашето изброяване или, по-точно, от дължината на масива от enum константи на предадения ни ‘clazz’ (обект на клас).

След като създадем „x“, ние връщаме произволна константа Enum, използвайки индексиране на масиви с нашия произволно генериран „x“. Красотата на този метод е неговата гъвкавост – той работи с всяко изброяване!

Разбиране на Enum в 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 .

Подобни публикации:

Оставете коментар