Java programming language में enum एक class है जो group of constants को represent करती है , या कह सकते हैं group of constants की class को ही enum कहते हैं। यह एक तरह से final variable की तरह है बस इसमें आप एक साथ कई variables और methods define कर सकते हैं। enum में define किये गए सभी values immutable होती हैं means एक बार define करने के बाद इन्हे update / change नहीं कर सकते हैं।

Java define enum

predefined enum keyword का उसे करके हम किसी भी enum को define करते हैं।

enum Plan{
  Silver,
  Gold,
  Platinum
}

इसमें आप directly enum name और variable name के साथ access कर सकते हैं।

System.out.println(Plan.Silver);

// Output : Silver

enum , enumerations की short form है जिसका मतलब होता है - specifically listed.

enum inside a Class

Java enum Example

File : EnumTest.java

CopyFullscreenClose FullscreenRun
public class EnumTest { 
  // define enum.
  enum Plan {
    Silver,
    Gold,
    Platinum
  }

  public static void main(String[] args) { 
    System.out.println("Basic plan : "+ Plan.Silver); 
    // you can also access by createting enum variable.
    Plan basic_plan = Plan.Silver; 
    System.out.println("basic_plan : "+ basic_plan); 
  } 
}
Output
javac EnumTest.java
java EnumTest
Basic plan : Silver
basic_plan : Silver

Java enum Methods

normal class की तरह ही enum में भी variables और methods हो सकते हैं , लेकिन enum constants public, static और final (न update होंगे और न ही override) . अगर आप enum में पहला method define कर रहे हैं तो method से पहले semicolon ; prepend करना न भूले।

Java enum method example

File : EnumTest.java

CopyFullscreenClose FullscreenRun
public class EnumTest { 
  enum Plan {
    // defining method
    ;public static String silver() {
      return "Silver";
    }
  }

  public static void main(String[] args) { 
    System.out.println("Basic plan : "+ Plan.silver());
  } 
}
Output
javac EnumTest.java
java EnumTest
Basic plan : Silver

ध्यान रहे enum का object create नहीं किया जा सकता है क्योंकि enum immutable हैं।

Java Loop Through an enum

enum class हमें एक values() method provide कराता है जो कि enum में defined सभी enum constants का एक array return करता है। enum values() method की help से हम enum class में defined सभी constants को loop के through traverse कर सकते हैं।

File : EnumTest.java

CopyFullscreenClose FullscreenRun
public class EnumTest { 
  enum Plan {
    Silver,
    Gold,
    Platinum
  }

  public static void main(String[] args) { 
    for (Plan p : Plan.values()) {
      System.out.println(p);
    }
  }  
}
Output
javac EnumTest.java
java EnumTest
Silver
Gold
Platinum

Difference between class and enum

  1. enum में भी class जी तरह ही properties और methods हो सकते हैं , main difference सिर्फ इतना है कि enum constants public , static and final (unchangeable) होते हैं। और इसी वजह से इन्हे initiate नहीं कर सकते हैं।

  2. normal class की तरह enum को आप inherit / extend नहीं कर सकते हैं।

  3. enum का use सिर्फ वही करते हैं जहाँ पर हमें पता हो कि data change नहीं होगा जैसे , days , month , color और deck etc.

Related Topics :

Rahul Kumar

Rahul Kumar

Hi ! I'm Rahul Kumar Rajput founder of learnhindituts.com. I'm a software developer having more than 4 years of experience. I love to talk about programming as well as writing technical tutorials and blogs that can help to others. I'm here to help you navigate the coding cosmos and turn your ideas into reality, keep coding, keep learning :)

Get connected with me. :) LinkedIn Twitter Instagram Facebook

b2eprogrammers