Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Understanding enum

 
Ravi Shankar Kumar
Ranch Hand
Posts: 30
1
Java MyEclipse IDE Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi

can anybody tell me how enum is advantageous if i am using inside class instead of static variable keeping out of this.....
 
Stephan van Hulst
Bartender
Pie
Posts: 5406
52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can you please rephrase your question? I'm not sure what you meant.
 
Sebanti Sanyal
Ranch Hand
Posts: 58
C++ Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you strictly want a variable to assume a value within a specific set of constants, you should be better off with an enum.


In the above example, 'Color c' can take only four values(e.g. Color.RED, Color.YELLOW, Color.BLUE or Color.GREEN), whereas, in case of 'int color', nothing stops me from assigning any value outside the four static final int constants.
 
Stephan van Hulst
Bartender
Pie
Posts: 5406
52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You've already identified the most important advantage yourself.

It doesn't make sense for a Color to be 1 or 2 or 5. Colors should be RED or GREEN, etc. and there should be nothing else - like an integer value - that is of importance.

Enums provide this important distinction.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic