Exzibit7

Personal blog

Tuesday, May 28, 2013

Java Enum Example

In Java, instead of creating a bunch of constants you can make use of Enums which better helps group them. For example, you can create an Enum of Colors(RED, YELLOW, GREEN, BLUE).
Also they help make sure that the constant is not outside the ones defined in the Enum.

Declaring Enums:
Here's how you declare Enums in Java.
public enum Color {
    RED,
    GREEN,
    BLUE,
    YELLOW,
    WHITE,
    BLACK
}

Example of Enums in a Class:
Here's a Java class that demonstrates various ways of using an Enum.
class EnumTest {
    public enum Color {
        RED,
        GREEN,
        BLUE,
        YELLOW,
        WHITE,
        BLACK
    }
    
    Color color;
    
    /**
     * Constructor with Enum as an argument
     */
    EnumTest(Color color) {
        setColor(color);
    }
    
    /**
     * Enum as a method argument
     */
    public void setColor(Color color) {
        this.color = color;
    }
    
    /**
     * Enum as a return type
     */
    public Color getColor() {
        return color;
    }
    
    /**
     * Comparison operator on Enum
     */
    public void compare(Color newColor) {
        if(color == newColor) {
            System.out.println("The colors " + color + " and " + newColor + " are same");
        } else {
            System.out.println("The colors " + color + " and " + newColor + " are different");
        }
    }
    
    /**
     * Enum in a Switch Case
     */
    public void printColor() {
        switch(color)
        {
            case RED:
                System.out.println("The Color is RED.");
                break;
            case GREEN:
                System.out.println("The Color is GREEN.");
                break;
            case BLUE:
                System.out.println("The Color is BLUE.");
                break;
            case YELLOW:
                System.out.println("The Color is YELLOW.");
                break;
            case WHITE:
                System.out.println("The Color is WHITE.");
                break;
            case BLACK:
                System.out.println("The Color is BLACK.");
                break;
        }
    }
    
    public static void main(String []args){
        EnumTest enumTest = new EnumTest(Color.RED);
        Color oldColor = enumTest.getColor();
        System.out.println("The Color is " + oldColor);
        
        enumTest.setColor(Color.GREEN);
        enumTest.printColor();
        enumTest.compare(oldColor);
        
        enumTest.setColor(Color.BLUE);
        enumTest.printColor();
        
        enumTest.setColor(Color.YELLOW);
        enumTest.printColor();
        
        enumTest.setColor(Color.WHITE);
        enumTest.printColor();
        
        enumTest.setColor(Color.BLACK);
        enumTest.printColor();
    }
}