例如,我有一个枚举
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/