我怎样才能创建"静态"在Kotlin中枚举的方法?

时间:2015-02-26 21:40:52

标签: enums static kotlin

Kotlin已经为枚举类提供了多种“静态”方法,例如valuesvalueOf

例如我有枚举

public enum class CircleType {
    FIRST
    SECOND
    THIRD
}

如何添加random(): CircleType等静态方法?扩展功能似乎不适用于这种情况。

1 个答案:

答案 0 :(得分:85)

就像任何其他类一样,您可以在枚举类中定义一个类对象:

enum class CircleType {
  FIRST,
  SECOND,
  THIRD;
  companion object {
     fun random(): CircleType = FIRST // http://dilbert.com/strip/2001-10-25
  }
}

然后您就可以将此功能称为CircleType.random()

编辑:注意枚举常量条目和伴随对象之前的结束分号之间的逗号。两者现在都是强制性的。