Hola a todos.
Hoy les presentare brevemente esta utilidad que podemos hacer uso en nuestros proyectos personales, trabajos practicos o incluso en vuestro trabajo.
En sencillas palabras los tipos enumerados de java nos permite tener un tipo de dato como podria ser un int, boolean, string, etc con la diferencia de que estos estan definidos por un dominio o tiene una cantidad fija de valores permitidos. Por ejemplo:
Si declaramos una variable de tipo int, sabemos que podemos usar en esa variable todo el conjunto de números entre -2147483648 a 2147483647, pero si fuera el caso en que quisiéramos representar con una variable, el conjunto de los meses del año, nos encontraríamos con el problema de que no existe un tipo de dato para tal caso. Porque si usariamos un int, sencillamente su dominio sobrepasa el conjunto definido por 12 elementos, siendo estos enteros y ademas por el mismo hecho que nosotros no queremos ver numeros, sino los nombres de los meses.
Y esto es un caso que podriamos usar el tipo enumerado, que como veremos mas adelante para crearla solo necesitariamos una clase con un nombre acorde al contexto en el que se aplicaría y que describiria correctamente al tipo enumerado.
Para el caso descripto podria ser escrito de la siguiente manera:
Creada la clase, podriamos usarla de la siguiente manera :
Y un ejemplo completo :
Hoy les presentare brevemente esta utilidad que podemos hacer uso en nuestros proyectos personales, trabajos practicos o incluso en vuestro trabajo.
En sencillas palabras los tipos enumerados de java nos permite tener un tipo de dato como podria ser un int, boolean, string, etc con la diferencia de que estos estan definidos por un dominio o tiene una cantidad fija de valores permitidos. Por ejemplo:
Si declaramos una variable de tipo int, sabemos que podemos usar en esa variable todo el conjunto de números entre -2147483648 a 2147483647, pero si fuera el caso en que quisiéramos representar con una variable, el conjunto de los meses del año, nos encontraríamos con el problema de que no existe un tipo de dato para tal caso. Porque si usariamos un int, sencillamente su dominio sobrepasa el conjunto definido por 12 elementos, siendo estos enteros y ademas por el mismo hecho que nosotros no queremos ver numeros, sino los nombres de los meses.
Y esto es un caso que podriamos usar el tipo enumerado, que como veremos mas adelante para crearla solo necesitariamos una clase con un nombre acorde al contexto en el que se aplicaría y que describiria correctamente al tipo enumerado.
Para el caso descripto podria ser escrito de la siguiente manera:
[color=#000000]enum Meses {ENERO, FEBRERO, MARZO, ABRIL, JUNIO, JULIO, AGOSTO, SEPTIEMBRE, OCTUBRE, NOVIEBRE, DICIEMBRE}[/color]
Creada la clase, podriamos usarla de la siguiente manera :
[color=#000000]
Meses mes; //mes es nuestra variable de tipo Meses, por defecto mes vale nullmes = Meses.MARZO; //variable mes contiene el valor MARZO[/color]
Y un ejemplo completo :
[color=#000000]
enum Meses {enero(31), febrero(28), marzo(31), abril(30), mayo(31), junio(30), agosto(31), septiembre(30), octubre(31), noviembre(30), diciembre(31); private final int dias;//atributo para el número de dias Meses(int dias) { this.dias = dias; } public int dias()//método para obtener el número de dias { return dias; }}//enumerado que contiene los meses del año y el número de dias que tienen.public class Enumerados { static Meses mes;//mes es nuestra variable de tipo Meses, por defecto mes vale null public static void main(String[] args) { mes = Meses.junio; System.out.println("El mes de " + mes + " tiene " + mes.dias() + " diasn"); }}
[/color]
Que basicamente nos estaria diciendo que tenemos los meses enumaredos de forma tal que podriamos aplicarlo de manera que cuando se pregunte la cantidad de dias que tiene un mes en otra clase se puede responder, de una forma clara, concisa y declarativa.