如何从java对象加载Enum

时间:2015-11-17 11:59:16

标签: java enums enumeration

我正在研究Java。请检查下面的代码:

TestEnum.java

fatal: ambiguous argument '[PATH]': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
awk: cmd. line:7: fatal: expression for `>' redirection has null string value

MyMain.java

public class TestEnum
{
     public enum AccountState {
         NEW("new"), OLD("old")
     }
}

我收到以下错误

无法解析AccountState或不是字段 任何人都纠正我在我的代码中做错了什么。

2 个答案:

答案 0 :(得分:2)

(只是在@ StefanBeike的回答之上添加更多信息)。

根据JLS §8.9

  

嵌套枚举类型是隐式静态的。允许将嵌套的枚举类型显式声明为静态。

所以你可以使用:

来引用它
System.out.println(TestEnum.AccountState.NEW);

答案 1 :(得分:1)

无需创建新的TestEnum对象:

System.out.println(TestEnum.AccountState.NEW);

您的enumstatic

除此之外,我想念那样的事情:

  public enum AccountState {
    NEW("new"), OLD("old");
    private final String code;

    /**
     * @param code
     */
    private AccountState(final String code) {
      this.code = code;
    }


    @Override
    public String toString() {
      return code;
    }
  }

否则你无法使用字符串值构造函数声明enum