在kotlin枚举中,默认起始顺序为0,如何更改?

在kotlin枚举中,默认起始顺序为0,如何更改?,kotlin,enums,Kotlin,Enums,枚举级咖啡强度{ 一级, 二级, 第三级, 第四级, 五级 }Kotlin枚举具有一个从零开始且无法修改的ordinal属性。如果需要其他编号系统,可以按如下方式为其创建属性: enum class CoffeeStrength { LEVEL1, LEVEL2, LEVEL3, LEVEL4, LEVEL5; val level: Int get() = ordinal + 1 } 但是,通常不建议将特征基于序号,因为这样在不更改编号的情况下就无法插入值或弃

枚举级咖啡强度{ 一级, 二级, 第三级, 第四级, 五级
}

Kotlin枚举具有一个从零开始且无法修改的
ordinal
属性。如果需要其他编号系统,可以按如下方式为其创建属性:

enum class CoffeeStrength {
    LEVEL1, LEVEL2, LEVEL3, LEVEL4, LEVEL5;

    val level: Int
        get() = ordinal + 1
}

但是,通常不建议将特征基于序号,因为这样在不更改编号的情况下就无法插入值或弃用值。但也有例外。如果您有一个
格里高利月的枚举
,您知道顺序和计数永远不会改变,所以使用序数可能没问题。

您不会改变它。你到底想解决什么问题?我想要级别1=1。。。c#enum中的level5=5就这样工作你可以改变sarting值我不能在kotlin中改变它?据我所知,你不能改变序号。但您可以将自己的属性和/或函数添加到枚举中。请注意,C#中的枚举比Java/Kotlin中的枚举要多。