This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach 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 Murach's Java Servlets and JSP this week in the Servlets 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: 60743

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: 11150

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
I agree. Here's the link:
subject: What is the usage on enum types?
Similar Threads
comparing two enum types
is there a quicker way to read in input besides bufferedreader?
Storing enums in database