[java/en] Enum Type

Short overview about enum type.
This commit is contained in:
Raphael Nascimento 2015-10-14 22:12:06 -03:00
parent 2315d0587d
commit 50a0bbf33f

View File

@ -7,6 +7,7 @@ contributors:
- ["Simon Morgan", "http://sjm.io/"]
- ["Zachary Ferguson", "http://github.com/zfergus2"]
- ["Cameron Schermerhorn", "http://github.com/cschermerhorn"]
- ["Raphael Nascimento", "http://github.com/raphaelbn"]
filename: LearnJava.java
---
@ -670,6 +671,68 @@ public abstract class Mammal()
return true;
}
}
// Enum Type
//
// 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.
// 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
}
// We can use our enum Day like that:
public class EnumTest {
// Variable Enum
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();
}
}
// The output is:
// Mondays are bad.
// Midweek days are so-so.
// Enum types are much more powerful than we show above.
// The enum body can include methods and other fields.
// You can se more at https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
```
## Further Reading