Kotlin 枚举类
Kotlin 枚举类
枚举类是 Kotlin 语言中的一种特殊类型,在一定的范围内定义一些常量。
定义方式
最简单定义方式
enum class Direction {
NORTH, SOUTH, WEST, EAST
}
设置枚举类构造函数和属性
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF)
}
使用枚举类
val north = Direction.NORTH
val red = Color.RED
枚举类常用函数
values()
获取枚举类中所有的值。
enum class Direction {
NORTH, SOUTH, WEST, EAST
}
fun main() {
val values = Direction.values()
values.forEach { println(it) }
}
输出结果:
NORTH
SOUTH
WEST
EAST
valueOf()
根据枚举类中定义的常量名获取对应的常量。
enum class Gender {
MALE, FEMALE
}
fun main() {
val male = Gender.valueOf("MALE")
val female = Gender.valueOf("FEMALE")
println(male) // MALE
println(female) // FEMALE
}
ordinal
获取枚举类中常量的位置,即下标。
enum class Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
fun main() {
println(Day.MONDAY.ordinal) // 0
println(Day.TUESDAY.ordinal) // 1
println(Day.SATURDAY.ordinal) // 5
}
自定义方法
可以在枚举类中定义方法。
enum class Week(val value: Int) {
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6),
SUNDAY(7);
fun isWeekend(): Boolean {
return this == SATURDAY || this == SUNDAY
}
}
fun main() {
println(Week.MONDAY.isWeekend()) // false
println(Week.SATURDAY.isWeekend()) // true
}
总结
枚举类是 Java 和 Kotlin 中的常用数据类型,用于在一定的范围内定义一些常量。Kotlin 的枚举类定义比 Java 更加简洁,可以自定义属性和方法。更多枚举类相关内容请参考Kotlin官方文档。