枚举

就像在 Java 中一样,Kotlin 中的枚举类具有合成方法,允许列出定义的枚举常量并通过其名称获得枚举常量。这些方法的签名如下(假设枚举类的名称是 EnumClass):

EnumClass.valueOf(value: String): EnumClass
EnumClass.values(): Array<EnumClass>

如果指定的名称与类中定义的任何枚举常量不匹配,valueOf() 方法将抛出 IllegalArgumentException

每个枚举常量都具有在枚举类声明中获取其名称和位置的属性:

val name: String
val ordinal: Int

枚举常量还实现了 Comparable 接口,自然顺序是它们在枚举类中定义的顺序。