// : 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;
System.out.println(m);
m = Month.number(12);
System.out.println(m);
System.out.println(m == Month.DEC);
System.out.println(m.equals(Month.DEC));
System.out.println(Month.month[3]);
}
} ///:~