在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) // 输出 255println(Color.GREEN.g) // 输出 255println(Color.BLUE.b) // 输出 255
}
示例三:下面的这个相当于一个hashmap
enum class CheckType(val value: String) {LESS("0"), // 盘亏NORMAL("1"), // 正常MORE("2"), // 盘盈ALL("10") // 全部}println(CheckType.NORMAL.value) // 输出 1