Функция equals

Функция equals сравнивает текущий элемент enum с другим объектом. Для enum сравнение выполняется по ссылке, так как в Kotlin все значения enum являются синглтонами. Метод принимает один параметр - объект для сравнения, и возвращает true если объекты одинаковы.

Синтаксис

kotlinfun equals(other: Any?): Boolean

Пример

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

kotlinenum class Direction { NORTH, SOUTH, EAST, WEST }

val dir1 = Direction.NORTH
val dir2 = Direction.NORTH
val res = dir1.equals(dir2)
println(res)

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

kotlinBoolean true

Пример

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

kotlinenum class Direction { NORTH, SOUTH, EAST, WEST }

val dir1 = Direction.NORTH
val dir2 = Direction.SOUTH
val res = dir1.equals(dir2)
println(res)

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

kotlinBoolean false

Пример

Сравнение enum с null:

kotlinenum class Direction { NORTH, SOUTH, EAST, WEST }

val dir = Direction.NORTH
val res = dir.equals(null)
println(res)

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

kotlinBoolean false

Пример

Использование оператора == (который вызывает equals):

kotlinenum class Direction { NORTH, SOUTH, EAST, WEST }

val dir1 = Direction.NORTH
val dir2 = Direction.NORTH
val res = (dir1 == dir2)
println(res)

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

kotlinBoolean true

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

  • метод hashCode,
    который возвращает хэш-код значения enum
  • метод toString,
    который возвращает строковое представление enum
  • функцию name,
    которая возвращает имя значения enum
  • функцию ordinal,
    которая возвращает порядковый номер значения enum