An enum type is a special data type that enables for a
variable to be a set of predefined constants. The variable must be equal
to one of the values that have been predefined for it. Common examples
include compass directions (values of NORTH, SOUTH, EAST, and WEST) and
the days of the week.
Because they are constants, the names of an enum type's fields are in uppercase letters.
In the Java programming language, you define an enum type by using the
You should use enum types any time you need to represent a fixed set
of constants. That includes natural enum types such as the planets in
our solar system and data sets where you know all possible values at
compile time—for example, the choices on a menu, command line flags, and
so on.
Here is some code that shows you how to use the
The output is:
Java programming language enum types are much more powerful than their counterparts in other languages. The
Because they are constants, the names of an enum type's fields are in uppercase letters.
In the Java programming language, you define an enum type by using the
enum
keyword. For example, you would specify a days-of-the-week enum type as:public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Here is some code that shows you how to use the
Day
enum defined above:public class EnumTest { Day day; public EnumTest(Day day) { this.day = day; } public void tellItLikeItIs() { switch (day) { case MONDAY: System.out.println("Mondays are bad."); break; case FRIDAY: System.out.println("Fridays are better."); break; case SATURDAY: case SUNDAY: System.out.println("Weekends are best."); break; default: System.out.println("Midweek days are so-so."); break; } } public static void main(String[] args) { EnumTest firstDay = new EnumTest(Day.MONDAY); firstDay.tellItLikeItIs(); EnumTest thirdDay = new EnumTest(Day.WEDNESDAY); thirdDay.tellItLikeItIs(); EnumTest fifthDay = new EnumTest(Day.FRIDAY); fifthDay.tellItLikeItIs(); EnumTest sixthDay = new EnumTest(Day.SATURDAY); sixthDay.tellItLikeItIs(); EnumTest seventhDay = new EnumTest(Day.SUNDAY); seventhDay.tellItLikeItIs(); } }
Mondays are bad. Midweek days are so-so. Fridays are better. Weekends are best. Weekends are best.
enum
declaration defines a class (called an enum type).
The enum class body can include methods and other fields. The compiler
automatically adds some special methods when it creates an enum. For
example, they have a static values
method that returns an
array containing all of the values of the enum in the order they are
declared. This method is commonly used in combination with the for-each
construct to iterate over the values of an enum type. For example, this
code from the Planet
class example below iterates over all the planets in the solar system.for (Planet p : Planet.values()) { System.out.printf("Your weight on %s is %f%n", p, p.surfaceWeight(mass)); }
No comments:
Post a Comment