Java 如何访问内部枚举类

2022-09-01 05:15:57
public class Constant {

  ......

  public enum Status {
    ERROR,
    WARNING,
    NORMAL
  }

  ......

}

编译后,我得到了一个名为Constant$Status.class的类文件。问题是,如何访问枚举值。例如,我想获取 ERROR 状态的字符串表示形式。


答案 1

您将能够在其他地方访问它,例如

import package.name.Constant;
//...
Constant.Status foo = Constant.Status.ERROR;

import package.name.Constant;
import package.name.Constant.Status;
//...
Status foo = Status.ERROR;

若要获取任何元素的声明名称,请使用 Enum#name()enum

Status foo = ...;
String fooName = foo.name();

答案 2

在您的代码中,只需执行以下操作:

Constant.Status.ERROR.toString();