java枚举类,自定义枚举类的ordinal
时间: 2023-06-23 18:59:27 浏览: 60
在 Java 中,每个枚举常量都有一个对应的 `ordinal` 值,表示它在枚举类中出现的顺序。默认情况下,`ordinal` 的值是从 0 开始依次递增的。但是,在一些特定的情况下,我们可能需要自定义枚举常量的 `ordinal` 值。
要自定义枚举常量的 `ordinal` 值,我们可以在枚举类中添加一个构造方法,并在每个枚举常量中指定对应的 `ordinal` 值。例如:
```
public enum Day {
MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(6), SATURDAY(7), SUNDAY(1);
private int ordinal;
private Day(int ordinal) {
this.ordinal = ordinal;
}
public int getOrdinal() {
return ordinal;
}
}
```
在上面的例子中,我们自定义了每个枚举常量的 `ordinal` 值,例如 `SUNDAY` 的 `ordinal` 值为 1,而不是默认的 0。我们在枚举类中添加了一个 `ordinal` 属性,并在构造方法中初始化它。然后,我们提供了一个 `getOrdinal()` 方法来获取每个枚举常量的 `ordinal` 值。
请注意,如果你修改了枚举常量的 `ordinal` 值,可能会导致一些代码出现错误。因此,建议在设计枚举类时,尽量避免修改默认的 `ordinal` 值。