File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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
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: 63838

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] [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: 11952

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?
It's not a secret anymore!