जावा एनम एंड एनम क्लास (उदाहरण के साथ)

इस ट्यूटोरियल में, हम जावा में एनम के बारे में जानेंगे। हम उदाहरणों की मदद से एनम और एनम कक्षाओं का निर्माण और उपयोग करना सीखेंगे।

जावा में, एक एनुम (एन्यूमरेशन के लिए छोटा) एक प्रकार है जिसमें स्थिर मानों का एक निश्चित समूह होता है। हम enumenums घोषित करने के लिए कीवर्ड का उपयोग करते हैं । उदाहरण के लिए,

 enum Size ( SMALL, MEDIUM, LARGE, EXTRALARGE )

यहाँ, हमने एक Enum बनाया है जिसका नाम Size है। इसमें निश्चित मान SMALL, MEDIUM, LARGE और EXTRALARGE शामिल हैं।

ब्रेसिज़ के अंदर इन मूल्यों को एनम कॉन्स्टेंट (मान) कहा जाता है।

नोट: एनम स्थिरांक को आमतौर पर अपरकेस में दर्शाया जाता है।

उदाहरण 1: जावा एनम

 enum Size ( SMALL, MEDIUM, LARGE, EXTRALARGE ) class Main ( public static void main(String() args) ( System.out.println(Size.SMALL); System.out.println(Size.MEDIUM); ) )

आउटपुट

 छोटे माध्यम से

जैसा कि हम उपरोक्त उदाहरण से देख सकते हैं, हम निरंतर मूल्यों तक पहुंचने के लिए enum नाम का उपयोग करते हैं।

इसके अलावा, हम एनम प्रकार के चर बना सकते हैं। उदाहरण के लिए,

 Size pizzaSize;

यहाँ, पिज्जा आकार आकार का एक चर है। इसे केवल 4 मानों के साथ सौंपा जा सकता है।

 pizzaSize = Size.SMALL; pizzaSize = Size.MEDIUM; pizzaSize = Size.LARGE; pizzaSize = Size.EXTRALARGE;

उदाहरण 2: जावा एनम स्विच स्टेटमेंट के साथ

 enum Size ( SMALL, MEDIUM, LARGE, EXTRALARGE ) class Test ( Size pizzaSize; public Test(Size pizzaSize) ( this.pizzaSize = pizzaSize; ) public void orderPizza() ( switch(pizzaSize) ( case SMALL: System.out.println("I ordered a small size pizza."); break; case MEDIUM: System.out.println("I ordered a medium size pizza."); break; default: System.out.println("I don't know which one to order."); break; ) ) ) class Main ( public static void main(String() args) ( Test t1 = new Test(Size.MEDIUM); t1.orderPizza(); ) )

आउटपुट

 मैंने एक मध्यम आकार के पिज्जा का आदेश दिया।

उपरोक्त कार्यक्रम में, हमने एक एनुम प्रकार का आकार बनाया है। हमने तब आकार के प्रकार के एक चर पिज्जा की घोषणा की।

यहां, चर पिज़्ज़ासाइज़ को केवल 4 मान (SMALL, MEDIUM, LARGE, EXTRALARGE) के साथ सौंपा जा सकता है।

कथन पर ध्यान दें,

 Test t1 = new Test(Size.MEDIUM);

यह Test()कंस्ट्रक्टर को टेस्ट क्लास के अंदर बुलाएगा । अब, चर पिज़्ज़ासाइज़ को MEDIUM स्थिरांक के साथ सौंपा गया है।

मूल्य के आधार पर, स्विच केस स्टेटमेंट के मामलों में से एक को निष्पादित किया जाता है।

जावा में Enum Class

जावा में, enum प्रकारों को एक विशेष प्रकार का वर्ग माना जाता है। इसे जावा 5 की रिलीज के साथ पेश किया गया था।

एक एनुम वर्ग में नियमित कक्षाओं की तरह ही तरीके और क्षेत्र शामिल हो सकते हैं।

 enum Size ( constant1, constant2,… , constantN; // methods and fields )

जब हम एक एनम वर्ग बनाते हैं, तो कंपाइलर प्रत्येक एनम कॉन्स्टेंट के उदाहरण (ऑब्जेक्ट्स) बनाएगा। इसके अलावा, सभी एनम स्थिरांक हमेशा public static finalडिफ़ॉल्ट रूप से होते हैं।

उदाहरण 3: जावा एनम क्लास

 enum Size( SMALL, MEDIUM, LARGE, EXTRALARGE; public String getSize() ( // this will refer to the object SMALL switch(this) ( case SMALL: return "small"; case MEDIUM: return "medium"; case LARGE: return "large"; case EXTRALARGE: return "extra large"; default: return null; ) ) public static void main(String() args) ( // call getSize() // using the object SMALL System.out.println("The size of the pizza is " + Size.SMALL.getSize()); ) )

आउटपुट

 पिज्जा का आकार छोटा है

उपरोक्त उदाहरण में, हमने एक एनम वर्ग आकार बनाया है। इसके चार स्थिरांक SMALL, MEDIUM, LARGE और EXTRALARGE हैं।

चूंकि आकार एक एनम वर्ग है, इसलिए कंपाइलर स्वचालित रूप से प्रत्येक एनम स्थिरांक के लिए उदाहरण बनाता है।

इस main()पद्धति के अंदर , हमने getSize()विधि कॉल करने के लिए SMALL का उपयोग किया है ।

नोट : नियमित कक्षाओं की तरह, एक एनम क्लास में भी कंस्ट्रक्टर शामिल हो सकते हैं। इसके बारे में अधिक जानने के लिए, जावा एनम कंस्ट्रक्टर पर जाएं।

जावा एनम क्लास के तरीके

एनम वर्गों में कुछ पूर्वनिर्धारित तरीके हैं जो उपयोग के लिए आसानी से उपलब्ध हैं।

1. जावा इनम ऑर्डिनल ()

ordinal()विधि एक enum निरंतर की स्थिति देता है। उदाहरण के लिए,

 ordinal(SMALL) // returns 0

2. Enum तुलना ()

compareTo()विधि enum उनके क्रमसूचक मूल्य के आधार पर स्थिरांक तुलना करती है। उदाहरण के लिए,

 Size.SMALL.compareTo(Size.MEDIUM) // returns ordinal(SMALL) - ordinal(MEDIUM)

3. Enum toString ()

toString()विधि enum स्थिरांक की स्ट्रिंग प्रतिनिधित्व देता है। उदाहरण के लिए,

 SMALL.toString() // returns "SMALL"

4. एनुम नाम ()

name()विधि स्ट्रिंग रूप में एक enum निरंतर की परिभाषित नाम देता है। name()विधि से दिया गया मान है final। उदाहरण के लिए,

 name(SMALL) // returns "SMALL"

5. जावा Enum valueOf ()

The valueOf() method takes a string and returns an enum constant having the same string name. For example,

 Size.valueOf("SMALL") // returns constant SMALL.

6. Enum values()

The values() method returns an array of enum type containing all the enum constants. For example,

 Size() enumArray = Size.value();

Why Java Enums?

In Java, enum was introduced to replace the use of int constants.

Suppose we have used a collection of int constants.

 class Size ( public final static int SMALL = 1; public final static int MEDIUM = 2; public final static int LARGE = 3; public final static int EXTRALARGE = 4; )

Here, the problem arises if we print the constants. It is because only the number is printed which might not be helpful.

So, instead of using int constants, we can simply use enums. For example,

 enum Size ( SMALL, MEDIUM, LARGE, EXTRALARGE )

This makes our code more intuitive.

Also, enum provides compile-time type safety.

If we declare a variable of the Size type. For example,

 Size size;

यहां, यह गारंटी है कि चर चार मानों में से एक को धारण करेगा। अब, यदि हम उन चार मानों के अलावा अन्य मानों को पारित करने का प्रयास करते हैं, तो संकलक एक त्रुटि उत्पन्न करेगा।

दिलचस्प लेख...