Java枚举给出错误?
当我尝试给我的枚举赋值时,会出现以下错误: 枚举状态中的构造函数状态不能应用于给定类型;状态_打开(0) 为什么会发生这种情况,我该如何解决 以下是我迄今为止的代码: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
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英雄联盟啊哈,谢谢,我试试看;)