Перечисления

Перечисления

В языке Kotlin для создания ограниченного набора возможных вариантов необходимо создать класс, который объявляется с ключевым словом enum.

Enum от слова enumeration, что означает перечисление.

Например нам необходимо, чтобы член класса мог сохранять статус какой-либо задачи. Если задача завершена без ошибок необходимо установить статус OK, если задачу пользователь отменил установить статус CANCEL, если задача завершилась с ошибкой указать статус ERROR и если задача ещё не была начата статус UNDEFINED. Для этого объявляем enum класс:

enum class Status {
    OK,
    CANCEL,
    ERROR,
    UNDEFINED
}

Затем в классе объявляем переменную с типом данных нашего класса перечисления и так как переменные должны быть инициализированы (им должны быть присвоены значения), сразу же указываем значение переменной равной Status.UNDEFINED:

var status: Status = Status.UNDEFINED

В коде соответствие статуса можно, например проверять в блоках if, when и т.д.:

when(status)
{
    Status.OK -> print("Status is OK")
    Status.ERROR -> print("Status is Error")
    Status.CANCEL -> print("Task is canceled")
    else -> print("Task isn't started yet")
}