Suponiendo que tengo una enumeración básica como:Java: genéricos aceptar sólo los tipos de enumeración
public enum Color { Red, Green, Blue}
¿Cómo se puede escribir una clase genérica que sólo acepta "clases de enumeración" de modo que una instanciación concreta de esa clase genérica podría parece MyClass<Color>
?
Editar:
Qué realmente queremos hacer es escribir una clase abstracta genérico que contiene una función que devuelve todas las "entradas" de enumeración como lista:
public abstract class EnumListBean<E extends Enum<E>> {
public List<E> getEnumList() {
return Arrays.asList(E.values());
}
}
Mientras Day.values()
está disponible E.values()
es no. ¿Qué estoy haciendo mal aquí?
Sin su implementación no debería limitarse a un solo tipo de enumeración concreta, pero a tipos de enumeración arbitrarias. Acabo de usar 'Day' para describir más concretamente lo que quiero. – Paranaix