作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当我尝试给我的枚举赋值时,它给我这个错误:
枚举状态中的构造函数状态不能应用于给定类型; STATUS_OPEN(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。
我正在关注这个网站:link
我四处搜索,但我无法真正找到为什么会出现此问题或如何通过搜索错误来解决它。
最佳答案
您需要向枚举添加一个构造函数。
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; }
}
这将解决您的语法问题,但您希望通过数字实现什么目标?通常使用枚举而不需要数字。
关于Java 枚举出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835689/
我是一名优秀的程序员,十分优秀!