How to customize toString() method for enum in Kotlin?

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

    override fun toString(): String {
        return type // not working!
    }
}

推荐答案

默认构造函数参数需要为varval才能在init块之外访问.此外,您还需要在最后一个枚举项之后添加半 colored颜色 ,以添加任何新函数或覆盖.

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

    override fun toString(): String {
        return type // working!
    }
}

Kotlin相关问答推荐

在Mapstruct中重用@映射定义

如何确保Kotlin子类已完成初始化?

Kotlin扩展函数未调用Hibernate/JPA中的重写函数

Spring Boot Kotlin 数据类未使用 REST 控制器中的默认值初始化

用于将 0.5 变为 0 的 round() 函数的模拟

Kotlin 中的密封和内部有什么区别?

如何在 kotlin 中创建自定义迭代器并添加到现有类?

我们应该在 Effect 和 Either 之间 Select 哪个作为我们业务服务的返回类型?

如何从 kotlin 函数中 Select 正确的枚举值

如何禁用智能投射突出显示 Kotlin?

Map.mapTo 到另一个map

致命错误 LifecycleOwners 必须在 registerForActivityResult 开始之前调用 register

如何在 Kotlin 中传递有界通配符类型参数?

Kotlin通过映射委托属性,如果映射中不存在,则抛出NoTouchElementException

当被Spring代理类访问时,Kotlin实例变量为null

Kotlin:具有多个不同类型设置器的单个属性

Kotlin - 是否可以在类中的 init 块之前初始化伴随对象?

在android的默认浏览器 Select 列表中添加我的浏览器?

Kotlin中的嵌套let块

在 IntelliJ Idea 中未为 Kotlin @ConfigurationProperties 类生成 spring-configuration-metadata.json 文件