Kotlin已经为枚举类提供了多种“静态”方法,例如values
和valueOf
例如我有枚举
public enum class CircleType {
FIRST
SECOND
THIRD
}
如何添加random(): CircleType
等静态方法?扩展功能似乎不适用于这种情况。
答案 0 :(得分:85)
就像任何其他类一样,您可以在枚举类中定义一个类对象:
enum class CircleType {
FIRST,
SECOND,
THIRD;
companion object {
fun random(): CircleType = FIRST // http://dilbert.com/strip/2001-10-25
}
}
然后您就可以将此功能称为CircleType.random()
。
编辑:注意枚举常量条目和伴随对象之前的结束分号之间的逗号。两者现在都是强制性的。