代码之家  ›  专栏  ›  技术社区  ›  Georgi Michev

如何从枚举中获取字段

  •  0
  • Georgi Michev  · 技术社区  · 6 年前

    我有一个枚举,类似于这个例子

    public enum Animals {
    
       Cat("Cat", "fluffy animal"),
       Dog("Dog", "barking animal");
    
       private String name;
       private String description;
    }
    
     Animals(String name, String description){
        this.name = name;
        this.description = description;
     }
    
     public String getName() {
        return name;
    }
    public String getDescription() {
        return description;
    }
    

    从外部类如何获取名称和描述字符串?

    1 回复  |  直到 6 年前
        1
  •  6
  •   ernest_k Petronella    6 年前

    只需为字段添加getter:

    public enum Animals {
    
        Cat("Cat", "fluffy animal"), 
        Dog("Dog", "barking animal");
    
        private final String name;
        private final String description;
    
        Animals(String name, String description) {
            this.name = name;
            this.description = description;
        }
    
        public String getName() {
            return this.name;
        }
    
        public String getDescription() {
            return this.description;
        }
    }
    

    您可以使用getter访问它们:

    Animals.Cat.getName();
    Animals.Cat.getDescription();
    

    请注意:请为枚举值使用所有大写标识符。做这些田地也是个好主意( name description )决赛。