Sobes.tech
Junior — Middle

Обяснете понятието Enum Class и неговата разлика от обикновените изброявания

sobes.tech AI

Отговор от AI

В Android (и в Java като цяло) enum class е клас за изброяване, който представлява набор от константи с възможност за добавяне на полета, методи и конструктори.

Разлики от обикновените изброявания (например в C или прости константи):

  • Типова безопасност — enum е пълен клас, и променлива от тип enum може да приема само зададените стойности.
  • Възможност за добавяне на поведение — може да дефинирате методи и полета вътре в enum.
  • Използване в switch — enum е удобно за използване в оператори за избор.

Пример за enum в Java/Android:

public enum Status {
    NEW(0),
    IN_PROGRESS(1),
    DONE(2);

    private int code;

    Status(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}

Така, enum class е разширен начин за дефиниране на фиксиран набор от константи с допълнителна функционалност, за разлика от простите изброявания, които могат да бъдат просто набор от числа или низове без логика.