Lesson 21: Enums & Their Real Uses

22 Jul 2026 1 min Swarnil Singhai

Enums model a fixed, known set of constants type-safely — better than raw Strings or ints for things like status codes.

Real-time example

An order-tracking system models OrderStatus as an enum so an invalid status string can never sneak into the database.

enum OrderStatus { PLACED, PACKED, SHIPPED, DELIVERED, CANCELLED }

OrderStatus s = OrderStatus.SHIPPED;
switch (s) {
    case SHIPPED -> System.out.println("On the way!");
    case DELIVERED -> System.out.println("Delivered.");
    default -> System.out.println("Status: " + s);
}

What's happening

Enums can also carry fields and methods — e.g. SHIPPED.getEstimatedDays() — making them far richer than plain constants.

Anywhere you'd use a String constant for a fixed set of states, reach for an enum instead.

Advertisement