java - 在Kotlin中,有没有一种方法可以通过函数调用将更多的值添加到枚举中?

标签 java android kotlin enums

例如,我有一个枚举

enum class User(val userInfo: UserInfo){
    USER_A( NewUser(A) ),
    USER_B( NewUser(B) ),
    USER_C( NewUser(C) ),
}

现在,我想向User枚举添加一个用户,我可以这样做吗?
User.add( "USER_D", NewUser(D) )
从我的 Angular 来看,由于枚举是恒定的并且是在编译时创建的,所以我认为这是不可能的。但是,有谁知道可以实现类似功能的变通方法吗?

提前致谢!

最佳答案

枚举属性将转换为纯静态最终实例。我认为最接近的事情是使用一个简单的 map :

class User(val info: UserInfo)
val users = mutableMapOf("USER_A" to User(A))

不幸的是,没有像users.USER_A这样在编译时检查访问器,但是由于映射在运行时中发生了变异,所以这是不可能的。

关于java - 在Kotlin中,有没有一种方法可以通过函数调用将更多的值添加到枚举中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62329412/

相关文章:

java - 将 Android 应用程序连接到基于 PC 的数据库

android - 用于加密存储的自定义 ContentProvider

java - 以编程方式关闭屏幕

java - 使用 JMF 从网络摄像头流式传输视频会导致 Windows 7 切换到基本主题

java - 正则表达式从响应中获取 json 数据

android - Armv6 + ffmpeg + android = sigill(堆)

android - 在 Jetpack compose 中绘制动画圆

android - 共享内容重叠底部导航

java - 使 TextView 全局化

java - 广播接收器未接收到