在Kotlin中,枚举(Enum)是一种特殊的类,用于表示固定数量的常量。它允许你定义一组命名的常量值,这些值在程序中具有固定的意义。Kotlin的枚举功能强大,支持多种特性,如伴生对象、构造函数、属性、方法等。
Kotlin枚举的特点:
- 枚举常量是不可变的,即它们的值在创建后不能被改变。
- 枚举常量默认是final和static的(在Java中),因此它们不能被继承或修改。
- Kotlin枚举可以有自己的属性和方法。
- 枚举可以有构造函数,允许在创建枚举常量时进行一些初始化操作。
- Kotlin枚举支持伴生对象,这使得我们可以为枚举类型添加静态方法或属性。
示例1:
enum class Color {
RED,
GREEN,
BLUE;
}
示例二:
enum class Color(val r: Int, val g: Int, val b: Int) {
RED(255, 0, 0),
GREEN(0, 255, 0),
BLUE(0, 0, 255)
}
fun main() {
println(Color.RED.r) // 输出 255
println(Color.GREEN.g) // 输出 255
println(Color.BLUE.b) // 输出 255
}
示例三:下面的这个相当于一个hashmap
enum class CheckType(val value: String) {
LESS("0"), // 盘亏
NORMAL("1"), // 正常
MORE("2"), // 盘盈
ALL("10") // 全部
}
println(CheckType.NORMAL.value) // 输出 1