A more robust enumeration system : Enumerator « Collections Data Structure « Java

A more robust enumeration system

A more robust enumeration system

// : c08:Month.java
// A more robust enumeration system.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

public class Month {

  private String name;

  private Month(String nm) {
    name = nm;

  public String toString() {
    return name;

  public static final Month JAN = new Month("January"), FEB = new Month(
      "February"), MAR = new Month("March"), APR = new Month("April"),
      MAY = new Month("May"), JUN = new Month("June"), JUL = new Month(
          "July"), AUG = new Month("August"), SEP = new Month(
          "September"), OCT = new Month("October"), NOV = new Month(
          "November"), DEC = new Month("December");

  public static final Month[] month = { JAN, FEB, MAR, APR, MAY, JUN, JUL,
      AUG, SEP, OCT, NOV, DEC };

  public static final Month number(int ord) {
    return month[ord - 1];

  public static void main(String[] args) {
    Month m = Month.JAN;
    m = Month.number(12);
    System.out.println(m == Month.DEC);
} ///:~


Related examples in the same category

1.Wrapping an Iterator around an Enumeration
2.A GOF Adapter to make instances of old Enumeration interface behave like new Iterator interface
3.ListOfFiles implements Enumeration
4.Treat an Enumeration as an Iterable
5.Support for breadth-first enumerating.
6.Empty Enumeration
7.Single Item Enumeration
8.Enumeration interface which enumerates the items of an arrayEnumeration interface which enumerates the items of an array
9.Filtering Enumeration
10.An enumeration that iterates over an array.An enumeration that iterates over an array.
11.Concatenates the content of two enumerations into one.
12.Removes all nulls from the input enumeration.
13.Filters some elements out from the input enumeration.
14.For each element of the input enumeration asks the Processor to provide a replacement