Свойство name
Каждый элемент enum в Kotlin имеет свойство name
,
которое возвращает имя этого элемента в виде строки
типа String
. Это свойство доступно только для чтения
и автоматически генерируется компилятором для всех элементов enum.
Синтаксис
enumClassInstance.name
Пример
Создадим enum с несколькими элементами и получим их имена:
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
val dir = Direction.NORTH
println(dir.name)
Результат выполнения кода:
String "NORTH"
Пример
Использование свойства name
в выражении when
:
enum class Status {
ACTIVE, INACTIVE, PENDING
}
val currentStatus = Status.PENDING
when (currentStatus.name) {
"ACTIVE" -> println("Active status")
"INACTIVE" -> println("Inactive status")
"PENDING" -> println("Pending status")
}
Результат выполнения кода:
String "Pending status"
Пример
Сравнение имён элементов enum:
enum class Color {
RED, GREEN, BLUE
}
val color1 = Color.RED
val color2 = Color.GREEN
println(color1.name == "RED")
println(color2.name == "RED")
Результат выполнения кода:
Boolean true
Boolean false
Пример
Получение всех имён элементов enum:
enum class Priority {
LOW, MEDIUM, HIGH
}
val names = Priority.values().map { it.name }
println(names)
Результат выполнения кода:
Array<String> ['LOW', 'MEDIUM', 'HIGH']