在kotlin enum默认的开始顺序是0,我怎么能改变它?



enum class coffestrength {使有效,二级,LEVEL3,LEVEL4,LEVEL5}

Kotlin枚举有一个从0开始且不能修改的ordinal属性。如果需要其他编号系统,可以为其创建如下属性:

enum class CoffeeStrength {
LEVEL1, LEVEL2, LEVEL3, LEVEL4, LEVEL5;
val level: Int
get() = ordinal + 1
}

然而,通常不鼓励将特征以序数为基础,因为如果不改变编号,就不可能插入值或弃用值。然而也有例外。如果您有一个用于GregorianMonth的枚举,您知道顺序和计数永远不会改变,因此使用序数可能很好。

最新更新