Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[JAVA] java.lang.Enum en Eclipse

Participa en el tema [JAVA] java.lang.Enum en Eclipse en el foro Programación.
Gente: desarrollé la siguiente clase en Websphere 5.1.2 usando como biblioteca del Sistema JRE el ...

Buscar en este tema:
 
  •  
    #1 [JAVA] java.lang.Enum en Eclipse
    Gente: desarrollé la siguiente clase en Websphere 5.1.2 usando como biblioteca del Sistema JRE el jdk1.5.0_04:

    public class Tipo extends java.lang.Enum {

    private Tipo(String nombre, int position) {
    super(nombre, position);
    }

    public static final Tipo inicioSesion = new Tipo("is", 0);
    public static final Tipo inicioTarea = new Tipo("it", 1);
    public static final Tipo inicioEjercicio = new Tipo("ie", 2);
    public static final Tipo finSesion = new Tipo("fs", 3);
    public static final Tipo finEjercicio = new Tipo("fe", 4);
    public static final Tipo acierto = new Tipo("ac", 5);
    public static final Tipo error = new Tipo("er", 6);

    public int compareTo(Object arg0) {
    return (this.equals(arg0) ? 0 : 1);
    }

    }

    En Websphere funciona perfectamente. Ahora en Eclipse 3.1, usando obviamente la misma biblioteca del sistema (jre1.5.0_04) me tira un error en tiempo de compilación que dice: "The type Tipo may not subclass Enum explicitly". Estuve googleando y no encontré nada sobre este tipo de advertencia: ¿alguien sabe qué es lo que está mal?
    Gracias.
    +
     
    0
    Me gusta
     
    | Más
  • #2 Re: java.lang.Enum en Eclipse

    segun dice el error, no puede ser subclase de Enum explicitamente...nose bien a que se refiere con explicitamente. Proba poner el constructor "public". La otra puede ser que la clase Enum este definida como "final" en ese caso no puede tener clases derivadas. Otra cosa no se me ocurre por el momento, despues lo pruebo en mi casa y te digo.
    Me gusta este mensaje
  • #3 Re: java.lang.Enum en Eclipse

    El problema es que vos querés hacer una enumeración con la forma anterior al JDK 1.5.
    En realidad tenes que usar un enum en vez de extender Enum.
    Por ej:

    public enum Tipo {

    inicioSesion,
    inicioTarea,
    inicioEjercicio,
    finSesion,
    finEjercicio,
    acierto,
    error

    }

    Despues podes usar cada elemento haciendo por ej, Tipo.inicioSesion, igual que harias de la forma vieja.
    Para cada elemento se asigna un nombre igual al nombre del identificador, por lo que el nombre de Tipo.inicioSesion seria "inicioSesion". Al parecer vos querés que el nombre sea más corto ("is", "it",...). Para eso podes hacer un constructor que reciba el nombre y guardarlo. Despues lo usás en el método toString()
    Por ej:

    public enum Tipo {

    inicioSesion("is"),
    inicioTarea("it"),
    inicioEjercicio("ie"),
    finSesion("fs"),
    finEjercicio("fe"),
    acierto("ac"),
    error("er");

    private String nombre;

    private Tipo(String nombre) {
    this.nombre = nombre;
    }

    public String toString() {
    return nombre;
    }

    }
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 2 RESPUESTAS
  • 10063 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB