Java Reference
In-Depth Information
Listing I.1 gives a program that demonstrates the use of enumerated types.
L ISTING I.1
EnumeratedTypeDemo.java
1 public class EnumeratedTypeDemo {
2
static enum Day {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
define an enum type
3
FRIDAY, SATURDAY};
4
5 public static void main(String[] args) {
6 Day day1 = Day.FRIDAY;
7 Day day2 = Day.THURSDAY;
8
9 System.out.println( "day1's name is " + day1.name());
10 System.out.println( "day2's name is " + day2.name());
11 System.out.println( "day1's ordinal is " + day1.ordinal());
12 System.out.println( "day2's ordinal is " + day2.ordinal());
13
14 System.out.println( "day1.equals(day2) returns " +
15 day1.equals(day2));
16 System.out.println( "day1.toString() returns " +
17 day1.toString());
18 System.out.println( "day1.compareTo(day2) returns " +
19
declare an enum variable
get enum name
get enum ordinal
compare enum values
day1.compareTo(day2));
20 }
21 }
day1's name is FRIDAY
day2's name is THURSDAY
day1's ordinal is 5
day2's ordinal is 4
day1.equals(day2) returns false
day1.toString() returns FRIDAY
day1.compareTo(day2) returns 1
An enumerated type Day is defined in lines 2-3. Variables day1 and day2 are declared
as the Day type and assigned enumerated values in lines 6-7. Since day1 's value is FRIDAY ,
its ordinal value is 5 (line 11). Since day2 's value is THURSDAY , its ordinal value is 4
(lineĀ 12).
Since an enumerated type is a subclass of the Object class and the Comparable interface,
you can invoke the methods equals , toString , and comareTo from an enumerated object
reference variable (lines 14-19). day1.equals(day2) returns true if day1 and day2 have
the same ordinal value. day1.compareTo(day2) returns the difference between day1 's
ordinal value to day2 's.
Alternatively, you can rewrite the code in Listing I.1 into Listing I.2.
L ISTING I.2
StandaloneEnumTypeDemo.java
1 public class StandaloneEnumTypeDemo {
2 public static void main(String[] args) {
3 Day day1 = Day.FRIDAY;
4 Day day2 = Day.THURSDAY;
5
6 System.out.println( "day1's name is " + day1.name());
7 System.out.println( "day2's name is " + day2.name());
8 System.out.println( "day1's ordinal is " + day1.ordinal());
 
Search WWH ::




Custom Search