我想从枚举类型本身中检索枚举类型的名称:
enum Mammals {
DOG(new Dog()),
CAT(new Cat());
public String alias;
Mammals(AncestorOfDogAndCat a){
this.alias=this.getClass().getName().toLowerCase();
System.out.println(alias);
}
}
当我实例化它们时,我得到
Main$mammals
Main$mammals
但我想要
dog
cat
最佳答案
您可以对枚举常量使用name()
方法来获取枚举常量的名称:
enum Mammals {
DOG(),
CAT();
public String alias;
Mammals() {
this.alias = name().toLowerCase();
System.out.println(alias);
}
}
name()
方法是编译器在enum
类型上自动添加的。