android-如何检索在Kotlin枚举中用vararg声明的参数的值
作者:互联网
我是Kotlin的新手,我有一个包含许多值的枚举,这些值引用了我的应用程序所具有的不同状态.
现在,无论何时应用进入状态,我都需要记录一些东西,但是枚举中的某些状态可以记录不止一件事情(基于来自应用外部的其他参数),而某些状态则不需要记录任何东西.
这是我的枚举:
enum class StateName(vararg log: String) {
FIRST_CONNECTION(), // no parameter here
AUTHORIZATION_CHECK("message 1", "message 2"),
HANDSHAKE_SUCCESS("message")
//...
}
如果用单个必填参数StateName(var log:String)声明了枚举,我本可以使用HANDSHAKE_SUCCESS.log来检索其值,但是使用vararg时,IDE(Android Studio)根本找不到日志.
那么,如何获取类似于log [0]的字符串?
注意:
>我的枚举已经定义(没有参数)并在我的应用程序中使用,我不能使用其他方法来更改实际状态/添加日志记录功能
>即使我只是在使用该语言编写项目时才开始学习,也需要使用Kotlin,所以我只想知道我是否(以及如何)做到这一点.
解决方法:
您需要将其更改为:
enum class StateName(vararg val log: String)
这样您可以访问日志
标签:optional-arguments,enums,kotlin,android 来源: https://codeday.me/bug/20191108/2005204.html