Enums 科特林的枚举

Enums 科特林的枚举,enums,kotlin,Enums,Kotlin,我想访问枚举类中某个项的键 像上面的枚举类一样,我可以像这样访问源吗 事件。引用和获取。源枚举常量本身不声明新类型。这意味着您不能简单地访问这些属性:它们是公共的,但不能访问声明它们的类型 您可以通过枚举实现接口,并通过重写接口中的属性来公开这些属性 或者,您可以声明一个密封类而不是enum类,并使用而不是enum常量。enum常量本身不声明新类型。这意味着您不能简单地访问这些属性:它们是公共的,但不能访问声明它们的类型 您可以通过枚举实现接口,并通过重写接口中的属性来公开这些属性 或者,您可以

我想访问枚举类中某个项的键

像上面的枚举类一样,我可以像这样访问源吗


事件。引用和获取。源

枚举常量本身不声明新类型。这意味着您不能简单地访问这些属性:它们是公共的,但不能访问声明它们的类型

您可以通过枚举实现接口,并通过重写接口中的属性来公开这些属性


或者,您可以声明一个密封类而不是enum类,并使用而不是enum常量。

enum常量本身不声明新类型。这意味着您不能简单地访问这些属性:它们是公共的,但不能访问声明它们的类型

您可以通过枚举实现接口,并通过重写接口中的属性来公开这些属性


或者,您可以声明一个密封类而不是enum类,并使用而不是enum常量。

您可以通过编写以下命令来实现:

enum class Events(val key: String, val source: String, val pointOfInitiation: String? = null) {
    REFER_AND_EARN(key = "Refer and Earn", source = "Source"),
    REFILL_PAST_MEDICINE_CLICK(
        key = "Refill Past Medicine Click",
        source = "Source",
        pointOfInitiation = "Point of initiation"
    )
}

您可以通过编写以下内容来实现您想要实现的目标:

enum class Events(val key: String, val source: String, val pointOfInitiation: String? = null) {
    REFER_AND_EARN(key = "Refer and Earn", source = "Source"),
    REFILL_PAST_MEDICINE_CLICK(
        key = "Refill Past Medicine Click",
        source = "Source",
        pointOfInitiation = "Point of initiation"
    )
}

您需要改用属性:

enum class Events(val key: String,
                  val source: String, 
                  val pointOfInitiation: String) {

        REFER_AND_EARN("Refer and Earn",
             "Source",
             "Unknown"),
        REFILL_PAST_MEDICINE_CLICK(
            "Refill Past Medicine Click",
            "Source",
            "Point of initiation"
        );
}

或者您可以使用其他人提到的密封类。

您需要使用属性:

enum class Events(val key: String,
                  val source: String, 
                  val pointOfInitiation: String) {

        REFER_AND_EARN("Refer and Earn",
             "Source",
             "Unknown"),
        REFILL_PAST_MEDICINE_CLICK(
            "Refill Past Medicine Click",
            "Source",
            "Point of initiation"
        );
}

或者您可以使用其他人提到的密封类。

您的意思是要获取所有事件的密钥吗?@Joshua事件项的密钥。我认为Kotlin只允许在登录后在不同的枚举值中使用不同的方法/属性。否则,它可能需要破坏与Java的互操作性或其自身的向后兼容性。你的意思是要获取所有事件的密钥吗?@Joshua-keys-of-Items-of-Events。我认为Kotlin只会在登录后在不同的枚举值中允许不同的方法/属性。否则,它可能需要破坏与Java的互操作性或其自身的向后兼容性。使用此解决方案,我必须为每个键提供一个参数,这将使其更奇怪。使用此解决方案,我必须为每个键提供一个参数,这将使其更奇怪。使用此解决方案,我必须为每个键提供一个参数,这将使它更奇怪。在这个解决方案中,我必须为每个键提供一个参数,这将使它更奇怪。