Java: Enum
Un enum (enumeración o tipo enumerado) es un tipo de dato definido por el usuario que solo puede tomar como valores los definidos en una lista.
.: [Estructura] :.
_______________________________________
La estructura de un enum sería así:
[modificador] enum nombreEnum {VALOR_1, VALOR_2, VALOR_3, VALOR_4,...}
modificador: Es opcional, puede ser public, private, protected (static).
enum: Es la palabra reservada para definir enumeraciones en Java.
nombreEnum: Es la palabra reservada para definir enumeraciones en Java.
VALOR_1,...: Es el nombre del nuevo tipo creado.
.: [Ejemplo] :.
_______________________________________
public enum Dia {LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SABADO, DOMINGO}
Dia d; // declaramos una variable del tipo Dia
d = Dia.DOMINGO; //asignamos un valor
if (d == Dia.DOMINGO || d == Dia.SABADO) { //comparamos valores
System.out.println("Estamos en fin de semana");
}else{
System.out.println("Aún no ha llegado el fin de semana");
switch (d) { //ejemplo de switch
case LUNES:
case MARTES:
case MIERCOLES:
case JUEVES:
case VIERNES:
System.out.println("Aún no ha llegado el fin de semana");
break;
default:
System.out.println("Estamos en fin de semana");
}
}
}
· ordinal(): Devuelve un entero con la posición de la constante según está declarada. A la primera constante le corresponde la posición cero.
[ES]: public final int ordinal()
· toString(): Devuelve un String con el nombre de la constante que contiene tal y como aparece en la declaración. Sobrescribe el método toString de la clase Object.
[ES]: public String toString()
· equals(): Devuelve true si el valor de la variable enum es igual al objeto que recibe. Sobrescribe el método equals de la clase Object.
[ES]: public final boolean equals(Object other)
· compareTo(): Compara el enum con el que recibe según el orden en el que están declaradas las constantes. Devuelve un número negativo, cero o un número positivo según el objeto sea menor, igual o mayor que el que recibe como parámetro. Solo se pueden comparar enumeraciones del mismo tipo.
[ES]: public final int compareTo(Enum other)
· valueOf(): Devuelve la constante que coincide exactamente con el String que recibe como parámetro.
[EJ]: Ejemplo.
[ES]: Estructura.
Fuente.
.: [Estructura] :.
_______________________________________
La estructura de un enum sería así:
[modificador] enum nombreEnum {VALOR_1, VALOR_2, VALOR_3, VALOR_4,...}
modificador: Es opcional, puede ser public, private, protected (static).
enum: Es la palabra reservada para definir enumeraciones en Java.
nombreEnum: Es la palabra reservada para definir enumeraciones en Java.
VALOR_1,...: Es el nombre del nuevo tipo creado.
.: [Ejemplo] :.
_______________________________________
public enum Dia {LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SABADO, DOMINGO}
modificador: public.
nombreEnum: Dia.
Valores: LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SABADO, DOMINGO.
· Normalmente se suelen escribir los valores en mayúsculas ya que son constantes.
· Después de crear el tipo enum ya podemos declarar las variables.
· Ahora mismo declararemos una variable de Dia (d). La variable d solo podrá tomar uno de los valores definidos en la lista de valores.
· Para darle un valor a las variables: nombreDelEnum.VALOR;
[EJ]:
d = Dia.MARTES;
.: [Uso] :.
_______________________________________
· Ejemplo de uso:
public class Enum1 {
enum Dia {LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO}
public static void main(String[] args) {
· Normalmente se suelen escribir los valores en mayúsculas ya que son constantes.
· Después de crear el tipo enum ya podemos declarar las variables.
· Ahora mismo declararemos una variable de Dia (d). La variable d solo podrá tomar uno de los valores definidos en la lista de valores.
· Para darle un valor a las variables: nombreDelEnum.VALOR;
[EJ]:
d = Dia.MARTES;
.: [Uso] :.
_______________________________________
· Ejemplo de uso:
public class Enum1 {
enum Dia {LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO}
public static void main(String[] args) {
Dia d; // declaramos una variable del tipo Dia
d = Dia.DOMINGO; //asignamos un valor
if (d == Dia.DOMINGO || d == Dia.SABADO) { //comparamos valores
System.out.println("Estamos en fin de semana");
}else{
System.out.println("Aún no ha llegado el fin de semana");
switch (d) { //ejemplo de switch
case LUNES:
case MARTES:
case MIERCOLES:
case JUEVES:
case VIERNES:
System.out.println("Aún no ha llegado el fin de semana");
break;
default:
System.out.println("Estamos en fin de semana");
}
}
}
.: [Métodos] :.
_______________________________________
Algunos de estos métodos que se pueden heredar de Enum:
· name(): Devuelve un String con el nombre de la constante que contiene tal y como aparece en la declaración.
_______________________________________
Algunos de estos métodos que se pueden heredar de Enum:
· name(): Devuelve un String con el nombre de la constante que contiene tal y como aparece en la declaración.
[ES]: public final String name()
· ordinal(): Devuelve un entero con la posición de la constante según está declarada. A la primera constante le corresponde la posición cero.
[ES]: public final int ordinal()
[ES]: public String toString()
[ES]: public final boolean equals(Object other)
[ES]: public final int compareTo(Enum other)
[ES]: public static enumConstant valueOf(String s)
· Ejemplo de uso de métodos heredados de la clase Enum:
public class Enum2 {
public enum Opcion {UNO, DOS, TRES, CUATRO}
public static void main(String[] args) {
Opcion op = Opcion.DOS;
Opcion op2 = Opcion.CUATRO;
if(op.name().equals("DOS"))
System.out.println("Cadena DOS");
System.out.println(op.ordinal());
if(op2.compareTo(op)>0)
System.out.println(op2 + " > " + op);
String cadena = "UNO";
if(Opcion.valueOf(cadena) == Opcion.UNO)
System.out.println("Cadena UNO");
for(Opcion x : Opcion.values())
System.out.println(x);
}
}
_______________________________________
[EJ]: Ejemplo.
[ES]: Estructura.
Fuente.
Comentarios
Publicar un comentario