在Kotlin中覆盖枚举toString()?

Ser*_*kov 1 android kotlin

如何在Kotlin中为枚举自定义toString()方法?

enum class GuideType(type: String) {
    DEF_TYPE("default"),

    override fun toString(): String {
        return type // not working!
    }
}
Run Code Online (Sandbox Code Playgroud)

iFa*_*nie 6

默认构造函数参数必须为,var或者val必须在init块外部可以访问。另外,您需要在最后一个枚举项之后添加半色,以添加任何新功能或替代。

enum class GuideType(var type: String) {
    DEF_TYPE("default");

    override fun toString(): String {
        return type // working!
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这可能是我使用 Kotlin 两年多以来第一次故意使用分号。谢谢你的提示! (2认同)