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