Una enumeración en Java es como cualquier otra clase, con un conjunto predefinido de instancias. Aquí hay varios ejemplos para resaltar cómo usar Java Enum.
1. Ejemplo simple
public enum Color { RED, YELLOW, BLUE; //each is an instance of Color } |
public class Test { public static void main(String[] args) { for(Color color: Color.values()){ System.out.println(color); } } } |
Producción:
RED YELLOW BLUE
2. Con Constructor
public enum Color { RED(1), YELLOW(2), BLUE(3); //each is an instance of Color private int value; private Color(){} private Color(int i){ this.value = i; } //define instance method public void printValue(){ System.out.println(this.value); } } |
public class Test { public static void main(String[] args) { for(Color color: Color.values()){ color.printValue(); } } } |
1 2 3
3. ¿Cuándo utilizar Java Enum?
Un tipo de enumeración es un tipo de datos especial que permite que una variable sea un conjunto de constantes predefinidas. La variable debe ser igual a uno de los valores predefinidos para ella.
Un buen caso de uso es evitar la posibilidad de un parámetro no válido. Por ejemplo, imagina el siguiente método:
public void doSomethingWithColor(int color); |
El método es ambiguo y otros desarrolladores no tienen idea de qué valor usar. Si tiene una enumeración Color con NEGRO, ROJO, etc., la firma se convierte en:
public void doSomethingWithColor(Color color); |
El código que llama a este método será mucho más legible.
Referencias:
1. https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html