Sobes.tech
Назад к вопросам
Junior — Middle
69

Какова цель использования enum class в языке Kotlin и чем он отличается от обычных перечислений?

Компании, где спрашивали
АВ Софт

Ответ от нейросети

sobes.tech AI

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

Основные отличия:

  • Каждая константа — это экземпляр enum класса, можно задавать уникальные свойства и поведение.
  • Можно добавлять конструкторы и методы.
  • Поддерживается наследование интерфейсов.

Пример:

enum class Direction(val degrees: Int) {
    NORTH(0),
    EAST(90),
    SOUTH(180),
    WEST(270);

    fun description() = "Направление $name с углом $degrees градусов"
}

fun main() {
    println(Direction.NORTH.description()) // Направление NORTH с углом 0 градусов
}

Таким образом, enum class в Kotlin — это мощный инструмент для работы с набором связанных констант с дополнительной логикой.