相比于字符串常量,使用枚举能够实现类型安全。
Kotlin使用 enum class
关键字来声明枚举 。
enum class Direction{
NORTH, SOUTH, WEST, EAST
}
fun testDir(): Unit {
val dir = Direction.NORTH
println(dir.name) // 输出:NORTH
println(dir.ordinal) // 输出:0
println(dir is Direction) // 输出:true
println(dir) // 输出:NORTH
}
枚举类有两个内置属性:
public final val name: String
public final val ordinal: Int
分别表示枚举对象的值和下标位置。
每一个枚举都是枚举类的实例,它们可以被初始化。
enum class DirectionPro(val description: String){
NORTH("北方"), SOUTH("南方"),
WEST("西方"), EAST("东方")
}
fun testDirPro(): Unit {
val dir = DirectionPro.SOUTH
println(dir) // 输出:SOUTH
println(dir.name) // 输出:SOUTH
println(dir.ordinal) // 输出:1
println(dir.description) // 输出:南方
}