当我尝试给我的枚举值时,它给了我这个错误:
枚举状态中的构造函数状态不能应用于给定类型; STATUS_OPEN(0),
为什么会发生这种情况,我该如何解决?
这是我到目前为止的代码:
public enum Status
{
STATUS_OPEN(0),
STATUS_STARTED(1),
STATUS_INPROGRESS(2),
STATUS_ONHOLD(3),
STATUS_COMPLETED(4),
STATUS_CLOSED(5);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用记事本和JDK通过命令提示符 - 我现在不想使用netbeans或eclipse.
我关注这个网站:链接
我已经google了,我无法真正找到为什么会出现此问题或如何通过搜索错误来解决它.
Jef*_*ter 17
您需要在枚举中添加构造函数.
public enum Status {
STATUS_OPEN(0),
STATUS_STARTED(1),
STATUS_INPROGRESS(2),
STATUS_ONHOLD(3),
STATUS_COMPLETED(4),
STATUS_CLOSED(5);
private final int number;
Status(int number) {
this.number = number;
}
public int getMagicNumber() { return number; }
}
Run Code Online (Sandbox Code Playgroud)
这将解决您的语法问题,但您希望通过该数字实现什么?通常使用枚举而不是对数字的需要.