小编Fla*_*akk的帖子

Java Enum toString()方法

我有几个使用下划线来分隔单词的Java枚举.在我的每个枚举中,我有一个toString方法,它实现为super.toString().replace("_",""),这样我就可以在没有下划线的GUI上显示字符串值.有没有什么方法可以让我的所有枚举使用这个toString方法,而不是在所有这些方法中重复它?如果这是一个常规类,答案很简单,实现toString()然后让我所有需要该实现的类扩展该类,但枚举不能扩展任何东西,甚至不能扩展枚举.

public enum Example1 {
    HELLO_WORLD, HELLO_EARTH, HELLO_GLOBE
    @Override public String toString() {
        return super.toString().replace("_", " ");
    }
}
public enum Example2 {
    ANSWER_1, ANSWER_2, ANSWER_3
    @Override public String toString() {
        return super.toString().replace("_", " ");
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人有一个解决方案,不会在所有枚举中复制这个toString()方法?

java enums

3
推荐指数
1
解决办法
4047
查看次数

标签 统计

enums ×1

java ×1