首页 > 解决方案 > 如何创建一个没有实例变量的枚举类?

问题描述

我有一个带有枚举列表的类,枚举被传递给构造函数并更新为 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;
    }
}

标签: javaenums

解决方案


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

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

请参阅在 IdeOne.com 上实时运行的代码


推荐阅读