gpt4 book ai didi

Java 枚举类型名称反射

转载 作者:行者123 更新时间:2023-12-01 17:55:20 25 4
gpt4 key购买 nike

我想从枚举类型本身检索枚举类型的名称:

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 类型上自动添加的方法。

关于Java 枚举类型名称反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45486574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com