1.实例可数的类(枚举也是类)
2.可以修改构造,添加成员
3.可以提升代码的表现力,也有一定的性能开销
enum class Rediskey {
ROLEKEY, USERKEY, DATAKEY;
/**
* 获得实例的名称
*/
fun getKey(): String {
return "$name"
}
/**
* 重写toString方法
*/
override fun toString(): String {
return "$name,$ordinal"
}
}
fun main(args: Array<String>) {
println(Rediskey.DATAKEY)
println(Rediskey.ROLEKEY.getKey())
/**
* 实例定义所在的顺序
*/
println(Rediskey.USERKEY.ordinal)
/**
* 枚举类.values() 获得所有的实例
*
*/
Rediskey.values().map(::println)
/**
* 通过valueOf获得某个实例
*/
println(Rediskey.valueOf("datakey".toUpperCase()))
}