Saltar al contenido

Genéricos usando Enum en Java

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *