枚举抛出构造函数错误

时间:2015-07-16 08:59:28

标签: java enums

我创建了一个持有货币类型的类。 类称为货币。其内容是 -

public class Currency{
            public enum CurrencyType {PENNY(1), NICKLE(5), DIME(10), QUARTER(25)};
}

在Eclipse中,PENNY,NICKLE等以红色突出显示,错误消息显示为

The constructor Currency.CurrencyType(int) is undefined

为什么会出现此错误?

2 个答案:

答案 0 :(得分:4)

因为没有构造函数CurrencyType(int)。如果不将枚举列为PENNY, NICKLE, etc.,则需要创建显式构造函数。

在枚举中添加一个构造函数,如下所示:

public enum CurrencyType {
    PENNY(1), NICKEL(5), DIME(10), QUARTER(25);
    int value;
    CurrencyType(int value) {
       this.value = value;
    }
    int getValue() {
       return value;
    }
}

答案 1 :(得分:2)

你的enum中没有构造函数用于参数(int)

你可以在你的枚举中创建一个构造函数

CurrencyType (int value){//Whatever you want to do with it }

对于未来:错误信息显示错误。如果你只是阅读errorMessage,大多数时候你可以节省很多工作。 (也许可以做一些谷歌研究)