3 回答

TA贡献1936条经验 获得超7个赞
枚举基本上是最后一组有效选项的声明(在你的情况下是几个月)。但它仍然是Java Class~Object。
您的错误字面意思是您缺少 Java Class 的构造函数,而您想为每个枚举提供某些属性。我猜你想在日历中添加月份顺序。您需要做的只是声明类和枚举构造函数的属性。
public enum Month {
JANUARY(1), FEBRUARY(2), MARCH(3), APRIL(4),MAY(5),JUNE(6), JULY(7), AUGUST(8), SEPTEMBER(9), OCTOBER(10), NOVEMBER(11), DECEMBER(12);
private int monthOrder;
public Month (int monthOrder) {
this.monthOrder = monthOrder;
}
public int getMonthOrder() {
return this.monthOrder;
}
}

TA贡献1871条经验 获得超13个赞
您必须为枚举编写构造函数。所以你需要这样实现;
public enum Month {
January(1), February(2), March(3), April(4), May(5), June(6), July(7), August(8), September(9), October(10), November(11), December(12);
private int value;
Month(int i) {
this.value = i;
}
}
如您所见,构造函数;
Month(int i) {
this.value = i;
}
它给出了相关月份的整数值。并设置为枚举的值字段,保持月份的值。

TA贡献1842条经验 获得超22个赞
默认情况下,您在枚举中提供的值是 0、1、... 等等,就像在数组索引中一样。如果要更改此设置,则需要显式获取值整数并将其添加到构造函数中。此外,要使用此值,您也可以使用 getter。
试试这个:
public enum Month {
January(1),
February(2),
March(3),
April(4),
May(5),
June(6),
July(7),
August(8),
September(9),
October(10),
November(11),
December(12);
private int value;
Month(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
添加回答
举报