Числовой Enum в JAVA

Уже есть готовый проект с абониментами. В зависимости от абонимента в нем варьируется кол-во посещаемых дней. Есть на 10, 20, 30, 50 посещений. В базе данных и в классе это всё уже хранится как int. Столкнулся с проблемой когда захотел заменить в классе значение поля кол-во дней вместо int на enum т.к. не могу создать его

public enum Days {
    10, 20, 30, 50
}

Подскажите, пожалуйста, как решить данную проблему


Ответы (1 шт):

Автор решения: Olmicron

Если вам нужен именно enum, то можно например так:

public enum Days {
    DAYS_10(10),
    DAYS_20(20),
    DAYS_30(30),
    DAYS_50(50);

    public final int count;

    Days(int count) {
        this.count = count;
    }
}

И получить значение можно так:

Days.DAYS_30.count

UPD

как мне тоскать значения из бд когда там уже 10, 20, 30 лежит в таблице?

Ну например так:

Days days;
if (count == 10) days = Days.DAYS_10;
else if (count == 20) days = Days.DAYS_20;
else if (count == 30) days = Days.DAYS_30;
else days = Days.DAYS_50;
→ Ссылка