Java Enum:
  • In this tutorial I will explain what is enum, how to use enum in different areas of a Java program and an example program on it.

  • An Enum type is a special data type which is added in Java 1.5 version. It is an abstract class in Java API which implements Cloneable and Serializable interfaces. It is used to define collection of constants. When you need a predefined list of values which do not represent some kind of numeric or textual data, at this moment, you have to use an enum.
  • Common examples include days of week (values of SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, and SATURDAY), directions, and months in a year. Etc.
  • You can declare simple Java enum type with a syntax that is similar to the Java class declaration syntax. Let’s look at several short Java enum examples to get you started.

Enum declaration Example 1:

  1. public enum Day {
  3. }

Enum declaration Example 2:

  1.  public enum Month{
  4. }

  • Enums are constants; they are by default static and final. That’s why the names of an enum type's fields are in uppercase letters.
  • Make a note that the enum keyword which is used in place of class or interface. The Java enum keyword signals to the Java compiler that this type definition is an enum.
    You can refer to the constants in the enum above like this:
  1. Day day = Day.MONDAY;

  • Here the ‘day’ variable is of the type ‘Day’ which is the Java enum type defined in the example above. The ‘day’ variable can take one of the ‘Day’ enum constants as value (SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY). In this case ‘day’ is set to MONDAY.
  • If you use enum instead of integers or String codes, you increase compile-time checking and avoid errors from passing in invalid constants, and you document which values are legal to use.
  • How to use a Java enum type in various areas in a Java Program:
  • We have seen how to declare simple Java enum types, let’s take a look at how to use them in various areas. We have to use a Java enum type in a variety of situations, including in a Java 5 for loop, in a switch statement, in an if/else statement, and more. For simple, Enum comparison, there are 3 ways to do it. They are, Switch-Case Statement, == Operator, .equals() method. Like that there are other places where you have to use Enum.
  • Let's take a look at how to use our simple enum types with each of these Java constructs.
  1. Enum in IF statement
  2. Enum in Switch statement
  3. Enum Iteration in for-each loop 
  4. Enum Fields 
  5. Enum Methods

1. Enum in IF statements:

  • We know Java Enums are constants. Sometimes, we have a requirement to compare a variable of Enum constant against the possible other constants in the Enum type. At this moment, we have to use IF statement as follows.
  • Day day = ----- //assign some Day constants to it.
  1. If(day ==Day.MONDAY){
  2. ….//your code
  3. } else if (day == Day.TUESDAY){
  4. ….//your code
  5. } else if (day == Day.WEDNESDAY){
  6. ….//your code
  7. } else if (day == Day. THURSDAY){
  8. ….//your code
  9. } else if (day == Day.FRIDAY){
  10. ….//your code
  11. } else if (day == Day.SATURDAY){
  12. ….//your code
  13. } else if (day == Day.SUNDAY){
  14. ….//your code
  15. }

  • Here, you can use “.equals()” instead of “==”. But, my preference is to use “==” because, it will never throws NullPointerException, safer at compile-time, runtime and faster.
  • The code snippet compares the ‘day’ variable against each of the possible other Enum constants in the ‘Day’ Enum.

2. Enums in Switch Statements:

  • Just assume that your Enum have lot of constants and you need to check a variable against the other values in Enum. For a small Enum IF Statement will be OK. If you use same IF statement for lot of Enum constants then our program will be increased and it is not a standard way to write a Java program. At this Situation, use Switch Statement instead of IF statement.
  • You can use enums in switch statements as follows:
  • Day day = ...  //assign some Day constant to it

  1. switch (day) { 
  3. case SUNDAY   : //your code; break; 
  4. case MONDAY //your code; break;
  5. case TUESDAY    : //your code; break;     
  6. case WEDNESDAY    : //your code; break;
  7. case THURSDAY: //your code; break;
  8. case FRIDAY    : //your code; break;
  9. case SATURDAY    : //your code; break;
  11. }

  • Here, give your code in the comments, “//your code”. The code should be a simple Java operation or a method call..etc 

Enum in java

3.Enum Iteration in for-each loop
4.Enum Fields
5.Enum Methods

Please click here  Enum in java part 2

Instance Of Java

We will help you in learning.Please leave your comments and suggestions in comment section. if you any doubts please use search box provided right side. Search there for answers thank you.
Newer Post
Older Post

No comments

Leave a Reply

Select Menu