This week's book giveaway is in the Design forum.
We're giving away four copies of Building Microservices and have Sam Newman on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes What is the usage on enum types? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Building Microservices this week in the Design forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "What is the usage on enum types?" Watch "What is the usage on enum types?" New topic

What is the usage on enum types?

abalfazl hossein
Ranch Hand

Joined: Sep 06, 2007
Posts: 635
What is the usage on enum types and where they are useful?
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63232

Anywhere you to abstract a finite set of values. A classic example is card suits:

The primary advantages are code readability and type-safety.

[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Ernie Mcracken
Ranch Hand

Joined: Feb 13, 2011
Posts: 33

If you know all the possible states of what you are describing in your code when you compile it then you should use enumerated types. Simples.

You're on a gravy train with biscuit wheels Roy.
fred rosenberger
lowercase baba

Joined: Oct 02, 2003
Posts: 11861

A (smallish) finite set of things is always a good candidate. As Bear's example illustrates, it's much easier to read and understand code that says

if (card.getSuit().equals(HEARTS))

than code that says

if (card.getSuit() == 2)

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Have you checked out Aspose?
subject: What is the usage on enum types?
It's not a secret anymore!