Java枚举给出错误?

Java枚举给出错误?,java,enums,Java,Enums,当我尝试给我的枚举赋值时,会出现以下错误: 枚举状态中的构造函数状态不能应用于给定类型;状态_打开(0) 为什么会发生这种情况,我该如何解决 以下是我迄今为止的代码: public enum Status { STATUS_OPEN(0), STATUS_STARTED(1), STATUS_INPROGRESS(2), STATUS_ONHOLD(3), STATUS_COMPLETED(4), STATU

当我尝试给我的枚举赋值时,会出现以下错误:

枚举状态中的构造函数状态不能应用于给定类型;状态_打开(0)

为什么会发生这种情况,我该如何解决

以下是我迄今为止的代码:

 public enum Status 
 { 
     STATUS_OPEN(0),  
     STATUS_STARTED(1),  
     STATUS_INPROGRESS(2),  
     STATUS_ONHOLD(3),  
     STATUS_COMPLETED(4),  
     STATUS_CLOSED(5);  

 }
我通过命令提示符使用记事本和JDK——我现在不想使用netbeans或eclipse

我一直在关注这个网站:


我在谷歌上搜索了一下,无法真正找到出现此问题的原因,也无法通过搜索错误来解决此问题。

您需要向枚举添加构造函数

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; } 
}

这将解决您的语法问题,但是您希望通过这个数字实现什么呢?枚举经常被使用,根本不需要数字

您需要
声明
状态实例变量
构造函数
。像这样

public enum Status 
 { 
        STATUS_OPEN(0),  
        STATUS_STARTED(1),  
        STATUS_INPROGRESS(2),  
        STATUS_ONHOLD(3),  
        STATUS_COMPLETED(4),  
        STATUS_CLOSED(5); 

       private int status;

       private Status(int status){
        this.status = status;
       }

     public int getStatus(){
       return this.status;
      } 
 }

至少让getter从外面查一下号码。好的。但我仍然会遇到多个错误。它说枚举中的构造函数状态不能应用于给定类型状态\u OPEN(0)等。。。每个人都犯了同样的错误…哦,没关系,我做错了别的事情。因此,它给出了这些错误。我现在明白了。好的,谢谢!@Peter Gwiazda,我一定要加上这个,谢谢你的反馈:)如果没有getterI,这是没有用的。我想OP可以包括:P,无论如何,我已经包括了。这些值是枚举序号的默认值。你可以删除它们,然后使用ordinal()得到相同的值。嗯,是的,我确实读过。。。虽然我不想从0开始(我只是测试一下),但我想从1开始。但是谢谢:)当你得到它们时,你可以增加它们。。。。。。。。。好吧,我在开玩笑:P@EvertonAgner英雄联盟啊哈,谢谢,我试试看;)