Enum in Java
Enums model a fixed set of constants with type safety and encapsulated behavior.
Real-World Use Cases
- order/payment states
- workflow stages
- permission levels
- domain-safe constants instead of raw strings
Java Example with Fields
enum Day {
SUNDAY(1), MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(6), SATURDAY(7);
private final int code;
Day(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
Java 21+ Improvement Pattern
Use modern switch expressions for enum-driven behavior:
static String dayType(Day day) {
return switch (day) {
case SATURDAY, SUNDAY -> "Weekend";
default -> "Weekday";
};
}
Java 17 also supports this clean style (switch expressions became standard before 17), so you can use the same pattern in long-term-support runtimes.
Java 25 Note
Enum fundamentals are stable and still recommended for closed sets of values.
Key Takeaways
- Enums are safer than
String/intconstants. - Keep enum behavior close to enum values.
- Use modern switch expressions for cleaner enum branching.