我正在研究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或不是字段 任何人都纠正我在我的代码中做错了什么。
答案 0 :(得分:2)
(只是在@ StefanBeike的回答之上添加更多信息)。
根据JLS §8.9:
嵌套枚举类型是隐式静态的。允许将嵌套的枚举类型显式声明为静态。
所以你可以使用:
来引用它System.out.println(TestEnum.AccountState.NEW);
答案 1 :(得分:1)
无需创建新的TestEnum对象:
System.out.println(TestEnum.AccountState.NEW);
您的enum
是static
。
除此之外,我想念那样的事情:
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
。