java - 如何创建没有实例变量的枚举类?

标签 java enums

我有一个带有枚举列表的类,枚举被传递给构造函数并更新为 toString,但我不允许在类上有实例变量(要求的一部分)。如何在不添加实例的情况下使枚举像字符串一样输出?

public enum Other {

    GAME_BOY("Game Boy"), MACBOOK("Macbook Pro"), IPHONE("iPhone XS"), LAPTOP("Laptop");

    private final String product; //can't have instance variable

    private Other(String passed) {
        this.product = passed;
    }

    @Override
    public String toString() {
        return product;
    }
}

最佳答案

您可以为每个元素覆盖 toString():

public enum Other {
   GAME_BOY {
     @Override public String toString() { return "Game Boy"; }
   },
   MACBOOK { ... },
   ...
}

查看此 code run live at IdeOne.com .

关于java - 如何创建没有实例变量的枚举类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64850889/

相关文章:

java - 如何获取二维数组的一部分?

java - Spring 中的两个 UserDetailsS​​ervices,Java 配置

java - Java接口(interface)中的静态方法和默认方法有什么区别?

java - 为什么这些 Java 枚举会改变值?

java - 单例模式中枚举相对于类的优势

F# 中的字符串枚举

java - 在android中旋转保存的位图

java - 将斜杠添加到 Java 中的枚举

c - C 中的函数指针和枚举

Java SQL 从日期中减去一个小时