将 Enum 类名称本身作为字符串获取的最佳方法

adi*_*moh 2 java

我有一个枚举。

公共枚举市场 { A, B, C; }

我想获取班级名称。因此 getEnumClassName() 返回字符串“Market”。

Cha*_*ong 6

所有 Java 类都有该getSimpleName()方法,该方法返回类的名称或枚举,无论它是什么。因此,要将枚举的名称Market作为字符串获取,您可以使用:

Market.class.getSimpleName()
Run Code Online (Sandbox Code Playgroud)

或者,如果您想要Market一个getEnumClassName()返回您所描述的名称的方法,您可以像这样编写:

public enum Market {
    A,
    B,
    C;

    public static String getEnumClassName() {
        return Market.class.getSimpleName();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @chrylis-cautouslyoptimistic-我认为这取决于你是否对它们进行子类化(例如“A {...}”)。 (4认同)
  • 或者对任何枚举值调用“getClass().getSimpleName()”。 (3认同)
  • @StephenC,我知道我已经进行了“jd”潜水,并且看到了比有线电视账单更多的美元符号。 (2认同)