我怎样才能创建“静态”方法在科腾的枚举?

Kotlin已经有了一些枚举类的“静态”方法,比如valuesvalueOf

例如,我有枚举

 public enum class CircleType { FIRST SECOND THIRD } 

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

和其他类一样,你可以在一个枚举类中定义一个类对象:

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

然后你可以把这个函数作为CircleType.random()来调用。

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