Tuesday, September 22, 2009

Java Enum Type

How do you represent enumerated constants in your java code? It probably will look something like this:
public static final int STATUS_ACTIVE = 0;
public static final int STATUS_PENDING = 1;
public static final int STATUS_CLOSED = 2;



This way of representation poses some problems. So in Java 5.0 Enum Type is introduced. Now you can write your code as,
public enum Status { ACTIVE, PENDING, CLOSED }
and refer to it by Status.ACTIVE, Status.PENDING and Status.CLOSED. The reserved word enum is used like class.


The links below are some discussions on what, how and when they should be used.

http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html
http://java.sun.com/docs/books/tutorial/java/javaOO/enum.html
http://www.ajaxonomy.com/2007/java/making-the-most-of-java-50-enum-tricks