Java 1.5 (java.lang パッケージ) で定義されているこのクラスから拡張および実装できないという次の問題に遭遇しました。
public abstract class Enum<E extends Enum<E>> {...
}..
私が抱えている問題は、異なる序数値を持つ独自の列挙型を作成することです。getCode() などの序数の別の名前を使用して実装したくないので、上記のクラスを拡張する方法を考えました。
public final class XYZ extends Enum<XYZ> { //Does not work.
//
A("A", 1),
B("B", 7);
.
}
私は次のことができることを知っています:
public enum NEWEnum {
A(1),
B(7);
private int code;
private NEWEnum(int code) {
this.code = code;
}
public int getCode() {
return this.code;
}
}
代わりに、ordinal() や name() のような通常の名前を Enum に付けたいと思います。