Kotlin 已经有许多用于枚举类的“静态”方法,例如 values
和 valueOf
例如我有枚举
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()
。
编辑:注意枚举常量条目之间的逗号,以及伴随对象之前的结束分号。现在两者都是强制性的。
关于enums - 如何在 Kotlin 中为枚举创建 "static"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753285/