【笔记】Kotlin的枚举类

前言

Kotlin的枚举类学习笔记

定义枚举类

1
2
3
enum class 枚举类名 {
枚举名, 枚举名
}

创建枚举对象

1
var 枚举对象: 枚举类 = 枚举类名.枚举名

获取枚举值

  • 枚举值实际值是整型,从0开始
1
var result = 枚举对象.ordinal

获取枚举名

1
var result = 枚举对象.name

为枚举类主构造方法添加形参

1
2
3
4
5
6
enum class 枚举类名(var 属性名: 数据类型) {
枚举名(属性值), 枚举名(属性值)
}

var 枚举对象: 枚举类 = 枚举类名.枚举名
var result = 枚举对象.属性名

为枚举类定义方法

1
2
3
4
5
6
7
8
enum class 枚举类名() {
枚举名, 枚举名

fun 方法名() {}
}

var 枚举对象: 枚举类 = 枚举类名.枚举名
var result = 枚举类.方法名()

枚举的when

  • 为枚举使用when时无需指定else
1
2
3
4
when (枚举对象) {
枚举类.枚举名 -> {}
枚举类.枚举名 -> {}
}

通过字符串创建枚举对象

1
var 枚举对象: 枚举类 = 枚举类.valueOf("枚举名")
1
var 枚举对象: 枚举类 = enumValueOf("枚举名")

获取所有枚举

  • 返回所有枚举对象数组
1
var result = 枚举类.entries
  • 返回所有枚举对象集合
1
var result = enumValues<枚举类>()

完成

参考文献

哔哩哔哩——青空の霞光