Por que não estender de Enum <E estende Enum <E >>
Eu tropecei no seguinte problema que não posso estender e implementar a partir dessa classe que é definida no Java 1.5 (pacote java.lang)
<code>public abstract class Enum<E extends Enum<E>> {... }.. </code>
O problema que tenho é criar meu próprio tipo de enum que tem diferentes valores ordinais. Eu não quero implementá-lo usando o nome diferente do ordinal como getCode () etc. Então eu pensei que eu poderia ir o caminho para estender a classe acima.
<code>public final class XYZ extends Enum<XYZ> { //Does not work. // A("A", 1), B("B", 7); . } </code>
Eu sei que posso fazer o seguinte:
<code>public enum NEWEnum { A(1), B(7); private int code; private NEWEnum(int code) { this.code = code; } public int getCode() { return this.code; } } </code>
Eu preferiria ter os nomes habituais no Enum como ordinal () e name ().