Функция equals
Функция equals сравнивает текущий элемент enum с другим объектом. Для enum сравнение выполняется по ссылке, так как в Kotlin все значения enum являются синглтонами. Метод принимает один параметр - объект для сравнения, и возвращает true если объекты одинаковы.
Синтаксис
fun equals(other: Any?): Boolean
Пример
Сравнение двух одинаковых значений enum:
enum class Direction { NORTH, SOUTH, EAST, WEST }
val dir1 = Direction.NORTH
val dir2 = Direction.NORTH
val res = dir1.equals(dir2)
println(res)
Результат выполнения кода:
Boolean true
Пример
Сравнение разных значений enum:
enum class Direction { NORTH, SOUTH, EAST, WEST }
val dir1 = Direction.NORTH
val dir2 = Direction.SOUTH
val res = dir1.equals(dir2)
println(res)
Результат выполнения кода:
Boolean false
Пример
Сравнение enum с null:
enum class Direction { NORTH, SOUTH, EAST, WEST }
val dir = Direction.NORTH
val res = dir.equals(null)
println(res)
Результат выполнения кода:
Boolean false
Пример
Использование оператора == (который вызывает equals):
enum class Direction { NORTH, SOUTH, EAST, WEST }
val dir1 = Direction.NORTH
val dir2 = Direction.NORTH
val res = (dir1 == dir2)
println(res)
Результат выполнения кода:
Boolean true