Automation Using Selenium Webdriver

Monday, 21 November 2016

Enum in java Example

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 {
  2.  SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY 
  3. }

Enum declaration Example 2:

  1.  public enum Month{
  2. JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER,
  3. OCTOBER, NOVEMBER, DECEMBER
  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:




  • 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) { 
    2.     
    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;
    10.  
    11. }

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






    25 comments:

    1. A universal message I suppose, not giving up is the formula for success I think. Some things take longer than others to accomplish, so people must understand that they should have their eyes on the goal, and that should keep them motivated to see it out til the end.
      Click here:
      python online training
      Click here:
      python training in usa

      ReplyDelete
    2. A very nice guide. I will definitely follow these tips. Thank you for sharing such detailed article. I am learning a lot from you.

      Blueprism training in Chennai

      Blueprism training in Bangalore

      Blueprism training in Pune

      ReplyDelete
    3. Thank you for allowing me to read it, welcome to the next in a recent article. And thanks for sharing the nice article, keep posting or updating news article.
      Data Science training in Chennai | Data science training in bangalore
      Data science training in pune | Data science online training
      Data Science Interview questions and answers

      ReplyDelete
    4. This blog is the general information for the feature. You got a good work for these blog.We have a developing our creative content of this mind.Thank you for this blog. This for very interesting and useful.
      java training in chennai | java training in bangalore

      java interview questions and answers | core java interview questions and answers

      ReplyDelete

    5. It seems you are so busy in last month. The detail you shared about your work and it is really impressive that's why i am waiting for your post because i get the new ideas over here and you really write so well.

      Selenium training in Chennai
      Selenium training in Bangalore
      Selenium training in Pune
      Selenium Online training
      Selenium training in bangalore

      ReplyDelete
    6. I and my friends were going through the nice, helpful tips from the blog then the sudden came up with an awful suspicion I never expressed respect to the website owner for those secrets.
      python training Course in chennai
      python training in Bangalore
      Python training institute in bangalore

      ReplyDelete
    7. Resources like the one you mentioned here will be very useful to me ! I will post a link to this page on my blog. I am sure my visitors will find that very useful
      Microsoft Azure online training
      Selenium online training
      Java online training
      Python online training
      uipath online training

      ReplyDelete
    8. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.data science course in Hyderabad

      ReplyDelete
    9. Awesome blog it's very nice and useful i got many more information it's really nice i like your blog

      AI Training in Hyderabad

      ReplyDelete
    10. Thanks for posting this! I searched on google and this page was the first result, very good to know.It's Pleasant to Visit your site, Such a Informative Articles Are Really Interesting.Keep Blogging...
      Java Training in Chennai

      Java Training in Velachery

      Java Training in Tambaram

      Java Training in Porur

      Java Training in Omr

      Java Training in Annanagar

      ReplyDelete
    11. This comment has been removed by the author.

      ReplyDelete
    12. This comment has been removed by the author.

      ReplyDelete
    13. This comment has been removed by the author.

      ReplyDelete
    14. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging.

      Python Training in Chennai

      Python Training in Velachery

      Python Training in Tambaram

      Python Training in Porur

      Python Training in Omr

      Python Training in Annanagar

      ReplyDelete
    15. I visit first here, and this information is useful and informative. Thanks for sharing this blog with us. If you want to become a data science expert, then follow the below link.
      Data Science Training Institute in Hyderabad

      ReplyDelete
    16. This comment has been removed by the author.

      ReplyDelete