【问题标题】:Getting value of enum initialized with string in Java在Java中获取用字符串初始化的枚举值
【发布时间】:2015-02-04 00:38:16
【问题描述】:

我有枚举,它是用下面的字符串定义和初始化的

public enum Code {
    OK( "OK" ),
    ERROR_FILE_NOT_FOUND ( "FILE_NOT_FOUND xxxxxxxxx" ),
    ERROR_AUTHENTICATION_FAILURE("AUTHENTICATION_FAILURE xxxxxxx" ),
    ERROR_AUTHORIZATION_FAILURE("AUTHORIZATION_FAILURE xxxxxxx" ),
    ERROR_DUPLICATE_DEF("DUPLICATE_DEF xxxxxxx"),
    ERROR("ERROR xxxxxx")

    private final String errorText;

    private Code(String error) {
        errorText = error;
    }
}

如果我有 Enum 值,ERROR_FILE_NOT_FOUND 如何获取对应的字符串值“FILE_NOT_FOUNDxxxxxxxxx”?

谢谢,

【问题讨论】:

  • 您发布的代码不是有效的Java。它不会自行编译。
  • 我应该已经发布了完整的代码,我已经编译了所有初始化函数的代码,除了返回字符串值的函数,这是我后来发现的。

标签: java enums


【解决方案1】:

您发布的代码无法编译。你正在寻找这个:

public enum Code {
  OK( "OK" ),
  ERROR_FILE_NOT_FOUND ( "FILE_NOT_FOUND xxxxxxxxx" ),
  ERROR_AUTHENTICATION_FAILURE("AUTHENTICATION_FAILURE xxxxxxx" ),
  ERROR_AUTHORIZATION_FAILURE("AUTHORIZATION_FAILURE xxxxxxx" ),
  ERROR_DUPLICATE_DEF("DUPLICATE_DEF xxxxxxx"),
  ERROR("ERROR xxxxxx");

  private final String text;

  private Code(String text) {
    this.text = text;
  }

  public String getText() {
    return this.text;
  }
}

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    相关资源
    最近更新 更多