gpt4 book ai didi

同时也是一个字符串的 Kotlin 枚举

转载 作者:行者123 更新时间:2023-12-03 07:53:12 25 4
gpt4 key购买 nike

我想定义一组常量字符串作为方便的枚举,以便在编译时安心。很明显(至少在我的 Python 背景下),简单的枚举可以用作字符串实例。

// Fine for overall use
enum class Things{ FIRST, SECOND, THIRD }
containsThings[Things.FIRST]

// If a String is expected, this works but has extra stuff
enum class Things(val v: String){
FIRST("FIRST"), SECOND("SECOND"), THIRD("THIRD")
}
// I want to get rid of ".v"
containsThings[Things.FIRST.v]

// Naïve desired syntax
enum class Things: String { FIRST, SECOND, THIRD }
containsThings[Things.FIRST]

我是否遗漏了一些明显的东西?

最佳答案

要实现这一点,您的枚举类必须是 String 的子类。这是双重不可能的,首先是因为您无法为枚举类指定父类(super class),其次是因为 String 不是 open 并且无法子类化。

关于同时也是一个字符串的 Kotlin 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76639989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com