Hola usuario de nuestra página, hallamos la respuesta a lo que buscabas, desplázate y la hallarás más abajo.
Solución:
Las enumeraciones son tipos finales, lo que significa que no puede extenderse a partir de ellos
un genérico como quiere una clase como parámetro que es Días o una clase extendida, pero la clase extendida no es posible
por lo que el único parámetro posible es Días y no necesita un genérico, si solo es posible un valor
No utilice un límite de genéricos. No hay necesidad. Simplemente use un tipo ilimitado, como este:
public class State
public State(T startState)
// whatever
Y para usarlo:
State dayState = new State(Days.SUNDAY);
Esta es una clase de tipo sencillo que no necesita un límite.
El único límite que podría tener sentido es un límite a un enum
:
public class State>
public State(T startState)
// whatever
Esta versión requiere que el parámetro genérico sea un enum
. Con esta versión, el ejemplo de uso anterior aún se compilaría, pero esto no se compilaría (por ejemplo):
State dayState = new State("hello");
porque String
no es un enum
.
No puede extender las enumeraciones en java (http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html hacia el final). Por tanto, no es posible.
-Si necesita que su clase funcione solo con su enumeración, no necesita genéricos
-si en cambio lo necesita para trabajar con otros enum (¿tiene sentido?) no necesita especificar la extensión.
¿Qué hace exactamente su clase estatal?
Te mostramos comentarios y valoraciones
Agradecemos que quieras añadir valor a nuestro contenido informacional dando tu experiencia en las explicaciones.