如何从枚举中获取字段

时间:2018-09-11 07:57:49

标签: java enums

我有一个看起来像这个例子的

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 个答案:

答案 0 :(得分:6)

您只需为您的字段添加吸气剂:

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();

请注意:请为您的枚举值使用全大写标识符。将这些字段(namedescription)定为最终值也是一个好主意。