其他分享
首页 > 其他分享> > android-如何检索在Kotlin枚举中用vararg声明的参数的值

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