Java枚举发出错误?

Big*_*Bug 5 java enums

当我尝试给我的枚举值时,它给了我这个错误:

枚举状态中的构造函数状态不能应用于给定类型; 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)

这将解决您的语法问题,但您希望通过该数字实现什么?通常使用枚举而不是对数字的需要.

  • 哦,没关系,我做错了什么.因此它给出了那些错误.我现在明白了.好的谢谢! (2认同)