CLASS ENUM
La utilizaremos para declarar una
variable donde acumularemos una serie de posibles valores, por lo que cuando la
deseamos utilizar para almacenar un dato tan solo podrá ser uno de los
predefinidos por nosotros.
Ejemplo.
1. Imaginemos
que deseamos guardar los meses del año en una variable de forma que cuando la
utilicemos no poda tener otro tipo de datos como pueda ser “otoño”, “primavera”…
Para realizar esta operación en primer lugar llamaremos al constructor de Enum,
lo tenemos que hacer fuera del método main, y cargaremos los diferentes
valores de nuestra variable. Si creamos un constructor
siempre será private.
Enum MesesAño{
Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiemble,Octubre,Noviembre,Diciembre; }
2. Cuando
necesitemos utilizar nuestra variable dentro del método main tan solo podemos
almacenar los datos preseleccionados en la clase Enum.
public static void main(String[] args) {
MesesAño
[] mes= new MesesAño[12];
mes[0]= MesesAño.Enero;
mes[1]= MesesAño.Febrero;
mes[2]= MesesAño.Marzo;
}
Por lo que MesesAño pasa a ser una subclase de enum en la existen una serie de valores predefinidos por
nosotros.
Método ValueOf(): Regresa el nombre de la constante
enumerada.
Método toUperCase(): modifica lo introducido pasándolo a mayúsculas.
package UsoEnum;
import javax.swing.JOptionPane;
public class MesesAño {
//Creamos
enumerado MesAños
enum MesesAños{
ENERO("1"), FEBRERO("2"), MARZO("3"), ABRIL("4"), MAYO("5"), JUNIO("6"), JULIO("7"), AGOSTO("8"), SEPTIEMBRE("9"), OCTUBRE("10"),NOBIEMBRE("11"), DICIEMBRE("12");
//CONSTRUCTOR
PASANDO POR PARAMETROS
private MesesAños(String num){this.num =num;}
private String num;
//método
Getter
public String Get_Regresa_Datos() {return num;}
}
//_________________________________________________
Método main
public static void main(String[] args) {
//toUperCase(): modifica lo introducido pasándolo a
mayusculas
String n = JOptionPane.showInputDialog("intorduce un mes").toUpperCase();
//valueOf(clase,
enum guardado)
MesesAños
mes= Enum.valueOf(MesesAños.class, n);
System.out.println(mes.Get_Regresa_Datos());
}
}
No hay comentarios:
Publicar un comentario