Java的枚举
enum Color {
RED, YELLOW, BLUE
}
Kotlin的枚举
enum class Color {
RED, YELLOW, BLUE
}
-
枚举是极少数Kotlin声明比Java使用了更多的关键字的例子
- Kotlin用了enum和class两个关键字
- Java只用了enum一个关键字
-
Kotlin中,enum是一个所谓的软关键字
- enum只在class关键字前面才有特殊意义
- 其他情况下,enum等同于普通名词
声明一个带属性的枚举类
enum class Color(val r: Int, val g: Int, val b: Int) {
RED(255, 0, 0),//每个常量创建的时候指定属性值
BLUE(0, 0, 255),
YELLOW(255, 255, 0); //必须有分号
fun rgb() = (r * 255 + g) * 256 + b //定义一个方法
}
- Kotlin语法中唯一必须使用分号的地方
- 在枚举中,定义任何方法,就要使用分号把枚举常量列表和方法定义分开
网友评论