НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
521 of 1310 menu

Функция compareTo

Функция compareTo сравнивает два значения enum по их порядковому номеру (позиции в объявлении enum). Возвращает отрицательное число, если текущий объект идет раньше сравниваемого, положительное - если позже, и 0 - если значения равны.

Синтаксис

fun compareTo(other: Enum): Int

Пример

Сравнение значений простого enum:

enum class Direction { NORTH, EAST, SOUTH, WEST } val dir1 = Direction.NORTH val dir2 = Direction.SOUTH val res = dir1.compareTo(dir2) println(res)

Результат выполнения кода:

Int -2

Пример

Сравнение одинаковых значений enum:

enum class Status { OPEN, IN_PROGRESS, CLOSED } val status1 = Status.IN_PROGRESS val status2 = Status.IN_PROGRESS val res = status1.compareTo(status2) println(res)

Результат выполнения кода:

Int 0

Пример

Использование compareTo в условии:

enum class Priority { LOW, MEDIUM, HIGH } val p1 = Priority.MEDIUM val p2 = Priority.HIGH if (p1.compareTo(p2) < 0) { println("p1 has lower priority than p2") } else { println("p1 has equal or higher priority than p2") }

Результат выполнения кода:

String "p1 has lower priority than p2"

Смотрите также

  • свойство ordinal,
    которое возвращает порядковый номер значения enum
  • метод values,
    который возвращает массив всех значений enum
  • метод valueOf,
    который возвращает значение enum по имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить