一、枚举
1.1枚举类的基本使用
- Kt 枚举类型以类的形式存在
- 每一个枚举值都是一个对象, 多个枚举值用(",")分开
enum class Direction
{
NORTH,SOUTH,WEST,EAST
}
使用
//定义一个枚举类变量
var direction : Direction
// 定义一个枚举类变量, 并初始化
var direction2 : Direction = Direction.NORTH
//未指定数据类型, 通过右侧的赋值自动检测类型
var direction3 = Direction.SOUTH
var direction4 = Direction.WEST
if(direction3 == direction4)
{
println("枚举类型值相等")
}else{
println("枚举类型值 bu 相等")
}
//引用枚举类中的值, 需要加上枚举类名
println(Direction.WEST)
1.2为枚举值指定对应的数值
enum class Direction private constructor(val d : Int)
{
NORTH(1),SOUTH(2),WEST(3),EAST(4);
override fun toString(): String {
return d.toString()
}
}
1.3枚举类的其他用法
- 获取枚举值名称和索引
// 定义一个枚举类变量, 并初始化
var direction2 : Direction = Direction.NORTH
//获取枚举值名称和索引
println(direction2.name)
println(direction2.ordinal)
- 通过valueOf方法传入枚举值名称来获取枚举值对应的数值
//通过valueOf方法传入枚举值名称来获取枚举值对应的数值
println(Direction.valueOf("WEST"))
- 获取枚举类中所有的枚举值对应的数值
for (d in Direction.values()){
println(d)
}
来源:CSDN
作者:ImomoTo
链接:https://blog.csdn.net/qi85481455/article/details/103477265