enums - 如何在 Kotlin 中为枚举创建 "static"方法?

标签 enums static kotlin

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()

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

关于enums - 如何在 Kotlin 中为枚举创建 "static"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753285/

相关文章:

android - 从 kotlin 应用程序在 s3 上上传音频文件

swift - 快速获取枚举值作为 Int

node.js - 是否可以使用快速静态路由进行验证?

android - Jetpack Compose 和 Compose Navigation 如何处理 Android Activity ?

托管 Apache 的 Django 静态文件

c - 共享库中的静态变量

android - kotlin 抑制警告已弃用 Android

C++ 枚举语法

c# - 64 位枚举? C#

typescript - 使用枚举作为类型允许枚举中不存在的值