Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java Enums में महारत हासिल करें: एक व्यावहारिक गाइड

एक Java enum एक डेटा प्रकार है जो स्थिरांक की एक सूची संग्रहीत करता है। आप enum कीवर्ड का उपयोग करके एक enum ऑब्जेक्ट बना सकते हैं। Enum स्थिरांक घुंघराले ब्रैकेट की एक जोड़ी के भीतर एक अल्पविराम से अलग सूची के रूप में दिखाई देते हैं।

एक enum, जो enumeration का संक्षिप्त रूप है, एक डेटा प्रकार है जिसमें संभावित मानों का एक निश्चित सेट होता है।

Enums उपयोगी होते हैं यदि आप एक ऐसे मान के साथ काम कर रहे हैं जिसमें केवल एक विशिष्ट मान होना चाहिए जो मानों की सूची में शामिल हो। उदाहरण के लिए, एक enum का उपयोग किया जाएगा यदि आप किसी स्टोर पर बेचे जाने वाले कॉफी आकारों की सूची संग्रहीत करना चाहते थे।

यह ट्यूटोरियल Java में enums की मूल बातें बताएगा। हम आपको आरंभ करने में मदद करने के लिए एक Java प्रोग्राम में एक enum क्लास के कुछ उदाहरणों का संदर्भ लेंगे।

Java Enum सिंटैक्स

एक Java enum स्थिरांकों की एक सूची का प्रतिनिधित्व करता है। एक enum से असाइन किया गया चर केवल एक मान रख सकता है जो enum में दिखाई देता है। Enums डेवलपर्स को डेटा संग्रहीत करने में मदद करते हैं जो वे जानते हैं कि बदल नहीं जाएगा।

मान लें कि आप तय करते हैं कि एक Java चर जो कर्मचारी वेतन ग्रेड संग्रहीत करता है, केवल पांच मानों में से एक हो सकता है। या, आप तय करते हैं कि एक चर जो कर्मचारी अनुबंध संग्रहीत करता है, केवल पार्ट-टाइम, फुल-टाइम, या जीरो-आवर्स संग्रहीत कर सकता है। इन मामलों में, आप डेटा संग्रहीत करने के लिए एक enum का उपयोग करना चाहेंगे।

Enums को "enum" प्रकार का उपयोग करके घोषित किया जाता है। "enum" कीवर्ड का सिंटैक्स यहां दिया गया है:

enum name { VALUE1, VALUE2, VALUE3 } 

आइए इस सिंटैक्स को तोड़ते हैं:

  • enum हमारे प्रोग्राम को बताता है कि हम एक enumeration घोषित करना चाहते हैं।
  • name हमारे enum का नाम है।
  • VALUE1, VALUE2, VALUE3 वे स्थिर मान हैं जो हमारा enum संग्रहीत करता है। ये मान आमतौर पर अपरकेस में लिखे जाते हैं।

Java में Enums का उपयोग क्यों करें?

Enums का उपयोग करने से आप एक एल्गोरिदम को अपने और कंप्यूटर दोनों के लिए अधिक पठनीय तरीके से व्यक्त कर सकते हैं।

एक enum लिखना कंप्यूटर को बताता है कि एक चर में केवल मानों की एक विशिष्ट संख्या हो सकती है। यह आपको, कोडर को भी बताता है कि ऐसा ही है, जो आपके कोड को समझना आसान बना देगा। यदि आप एक चर देखते हैं जो एक enum का उपयोग करता है, तो आप जानते हैं कि चर में केवल सीमित संख्या में मानों में से एक हो सकता है।

इसके अलावा, enums आपको स्थिरांकों का अधिक प्रभावी ढंग से उपयोग करने की अनुमति देते हैं। वास्तव में, enum को Java में int स्थिरांकों को बदलने के लिए पेश किया गया था, जो कई पंक्तियों में फैले हुए थे और पढ़ने में कठिन थे। यहां Java में एक पुराने int स्थिरांक का उदाहरण दिया गया है:

हमारा कोड इन स्थिरांकों को घोषित करने के लिए पांच पंक्तियाँ लेता है। लेकिन enum का उपयोग करके, हम अपने कोड को तीन पंक्तियों तक कम कर सकते हैं। नीचे दिए गए उदाहरण में, हम enum स्थिरांकों की एक सूची घोषित करते हैं:

class IntConstant { public final static int ECONOMY = 1; public final static int BUSINESS = 2; public final static int FIRST_CLASS = 3; } 

हमारा कोड इन स्थिरांकों को घोषित करने के लिए पांच पंक्तियाँ लेता है। लेकिन enum का उपयोग करके, हम अपने कोड को तीन पंक्तियों तक कम कर सकते हैं। नीचे दिए गए उदाहरण में, हम enum स्थिरांकों की एक सूची घोषित करते हैं:

class AirplaneClasses { ECONOMY, BUSINESS, FIRST_CLASS } 

यह कोड सरल और पढ़ने में आसान है।

Java Enum घोषित करना

हम एक ऐप बना रहे हैं जिसका उपयोग वेट स्टाफ कॉफी शॉप में बारिस्टा को कॉफी ऑर्डर सबमिट करने के लिए कर सकते हैं।

जब एक बारिस्टा ड्रिंक के आकार के लिए एक मान डालता है, तो हम केवल तीन संभावित विकल्प चाहते हैं। ये विकल्प हैं: SMALL, REGULAR, और LARGE। हम ड्रिंक के संभावित आकार को उन विकल्पों तक सीमित करने के लिए एक enum का उपयोग कर सकते हैं:

enum Sizes { SMALL, REGULAR, LARGE } 

इस उदाहरण में, हमने Sizes नामक एक enum घोषित किया है जिसमें तीन संभावित मान हैं। अब जब हमने एक enum घोषित कर दिया है, तो हम अपने कोड में इसके मूल्यों का उल्लेख कर सकते हैं।

Java Enum उदाहरण

हम एक प्रोग्राम लिख रहे हैं जो कंसोल पर उस कॉफी के आकार को प्रिंट करता है जिसे एक ग्राहक ने ऑर्डर किया है। इस मान को बारिस्टा द्वारा पढ़ा जाएगा जो ग्राहक का ड्रिंक तैयार करता है।

हम कंसोल पर ग्राहक द्वारा ऑर्डर की गई कॉफी के आकार को प्रिंट करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

enum Sizes { SMALL, REGULAR, LARGE } class PrintSize { Sizes coffeeSize; public PrintSize(Sizes coffeeSize) { this.coffeeSize = coffeeSize; } public void placeOrder() { switch(coffeeSize) { case SMALL: System.out.println("This coffee should be small."); break; case REGULAR: System.out.println("This coffee should be REGULAR."); break; case LARGE: System.out.println("This coffee should be large."); break; } } } class Main { public static void main(String[] args) { PrintSize order173 = new PrintSize(Sizes.SMALL); order173.placeOrder(); } } 

हमारा कोड रिटर्न करता है:

This coffee should be small.

सबसे पहले, हम Sizes नामक एक enum घोषित करते हैं। इस enum में तीन मान हो सकते हैं: SMALL, REGULAR, या LARGE। अगला, हमने PrintSize नामक एक क्लास घोषित की। यह क्लास ग्राहक के ड्रिंक का आकार स्वीकार करती है और ड्रिंक के आकार को कंसोल पर प्रिंट करती है।

हमारे मुख्य प्रोग्राम में, हम order173 नामक एक ऑब्जेक्ट घोषित करते हैं, जो PrintSize क्लास का उपयोग करता है। हमने अपने कोड के माध्यम से Java पैरामीटर Sizes.SMALL पास किया। यह हमारे प्रोग्राम को PrintSize क्लास में coffeeSize चर को SMALL मान असाइन करने के लिए कहता है।

फिर हम order173.placeOrder() का उपयोग करके PrintSize क्लास में switch case स्टेटमेंट के भीतर कोड निष्पादित करते हैं। यह "coffeeSize" चर के मान का तीन मामलों के खिलाफ मूल्यांकन करता है। ग्राहक द्वारा ऑर्डर की गई कॉफी के आकार के आधार पर कंसोल पर एक संदेश प्रिंट किया जाता है।

हमने निर्दिष्ट किया कि ग्राहक ने एक छोटी कॉफी ऑर्डर की। हमारा कोड कंसोल पर, "This coffee should be small." प्रिंट करता है।

यदि आप Java switch case स्टेटमेंट के बारे में अधिक जानना चाहते हैं, तो आप हमारे Java switch स्टेटमेंट ट्यूटोरियल में उनके बारे में पढ़ सकते हैं।

Java Enum विधियाँ

Java enum क्लास में कई पूर्वनिर्धारित विधियाँ शामिल हैं जिनका उपयोग enum क्लास का उपयोग करने वाले मानों को पुनः प्राप्त करने और हेरफेर करने के लिए किया जाता है। नीचे हमने पांच सबसे अधिक उपयोग की जाने वाली enum विधियों को तोड़ा है।

compareTo()

compareTo() एक enum में स्थिरांकों की शब्दकोशीय तुलना करता है और उनके क्रमिक मानों के बीच का अंतर लौटाता है। यहां हमारे ऊपर के उदाहरण से एक enum मान के साथ compareTo() के उपयोग का एक उदाहरण दिया गया है:

int difference = Sizes.SMALL.compareTo(Sizes.LARGE); System.out.println(difference); 

हमारा कोड SMALL और LARGE स्ट्रिंग्स के बीच उनके क्रमिक मान के आधार पर अंतर लौटाता है। इस मामले में, हमारा कोड रिटर्न करता है:

-2

toString()

toString() एक enum के नाम को एक स्ट्रिंग में परिवर्तित करता है। यहां LARGE enum मान को स्ट्रिंग में परिवर्तित करने के लिए toString() के उपयोग का एक उदाहरण दिया गया है:

String large_string = LARGE.toString(); System.out.println(large_string); 

हमारा कोड रिटर्न करता है:

“LARGE”

name()

name() विधि एक enum क्लास में एक स्थिरांक को परिभाषित करने के लिए उपयोग किए गए नाम को लौटाती है। यहां REGULAR कॉफी आकार के परिभाषित नाम को लौटाने के लिए name() विधि के उपयोग का एक उदाहरण दिया गया है:

String regular_name = name(REGULAR); System.out.println(regular_name); 

हमारा कोड रिटर्न करता है:

“REGULAR”

values()

values() विधि एक Java सरणी लौटाती है जो एक enum में सभी स्थिरांकों को संग्रहीत करती है। यहां values() विधि का एक उदाहरण दिया गया है:

Sizes[] sizeList = Sizes.values();

valueOf()

valueOf() एक स्ट्रिंग स्वीकार करता है और enum स्थिरांक लौटाता है, जिसका वही नाम है। इसलिए, यदि हम REGULAR, नाम वाले enum स्थिरांक को पुनः प्राप्त करना चाहते थे, तो हम इस कोड का उपयोग करके ऐसा कर सकते थे:

String regular_constant = Sizes.valueOf("REGULAR"); System.out.println(regular_constant); 

हमारा कोड रिटर्न करता है:

REGULAR

निष्कर्ष

एक enum, enumeration का संक्षिप्त रूप, एक Java डेटा प्रकार है जिसमें मानों का एक निश्चित सेट होता है।

Enums उपयोगी हैं यदि आप ऐसे चर के साथ काम कर रहे हैं जो केवल चुनिंदा मानों की एक श्रेणी में से एक को संग्रहीत करने में सक्षम होना चाहिए।

इस ट्यूटोरियल में आपने जो पढ़ा है उसका अभ्यास करने के बाद, आप Java में enums का उपयोग करने में विशेषज्ञ होंगे। Java में कोडिंग के बारे में अधिक जानने के लिए, How to Code in Java पर हमारी पूरी गाइड पढ़ें।

  1. HTML DOM Input Range name प्रॉपर्टी HTML DOM Input Range name प्रॉपर्टी

    HTML DOM Input Range name प्रॉपर्टी का उपयोग इनपुट रेंज फील्ड के name एट्रिब्यूट को सेट या प्राप्त करने के लिए किया जाता है। Name एट्रिब्यूट फॉर्म डेटा को सर्वर पर सबमिट करने के बाद पहचानने में मदद करता है। JavaScript भी बाद में हेरफेर करने के लिए फॉर्म एलिमेंट्स को रेफर करने के लिए name एट्रिब्यूट

  1. JavaScript का उपयोग करके <select> लिस्ट आइटम को प्रीसेलेक्ट कैसे करें? JavaScript का उपयोग करके <select> लिस्ट आइटम को प्रीसेलेक्ट कैसे करें?

    JavaScript का उपयोग करके <select> लिस्ट आइटम को प्रीसेलेक्ट करने के लिए, selectedIndex प्रॉपर्टी का उपयोग करें। इस प्रॉपर्टी के लिए आप जो चुनना चाहते हैं उसका इंडेक्स जोड़ें। यहां, <script> टैग के तहत, add_select_id <select> टैग की आईडी है, जबकि add_item_index संख्या में इंडेक्स ह

  1. phpPress, goPress, rubyPress, और nodePress के साथ वेब फॉर्म्स को सुरक्षित रूप से प्रोसेस करें phpPress, goPress, rubyPress, और nodePress के साथ वेब फॉर्म्स को सुरक्षित रूप से प्रोसेस करें

    अब जब आपके पास एक फ्लैट फाइल सिस्टम का उपयोग करने वाली वेब साइट है, तो आप अपने यूजर्स से कुछ फीडबैक प्राप्त करना चाहेंगे। Disqus जोड़ना आसान है क्योंकि यह पेज में जोड़ा गया ऑल जावास्क्रिप्ट कोड है, लेकिन यह वह नहीं है जो आप चाहते हैं। आप चाहते हैं कि वे आपको सीधे ईमेल कर सकें ताकि आप केवल उन्हें जवा