मैंने कई कारणों से अपने कोड में वास्तव में C # और जावा एनम का उपयोग करना शुरू कर दिया है:
- वे पूर्णांक, स्ट्रिंग्स या बूलियन झंडे के सेट की तुलना में बहुत अधिक प्रकार के सुरक्षित हैं।
- वे अधिक पठनीय कोड की ओर ले जाते हैं।
- इंटम या स्ट्रिंग की तुलना में अमान्य मान को एनम सेट करना अधिक कठिन है।
- वे एक चर या पैरामीटर के लिए अनुमत मानों की खोज करना आसान बनाते हैं।
- मैंने जो कुछ पढ़ा है वह इंगित करता है कि वे सी # और अधिकांश जेवीएम में पूर्णांक के साथ-साथ पूर्ण प्रदर्शन करते हैं।
हालाँकि, एंड्रॉइड फ्रेमवर्क में कई मामले हैं जहां विभिन्न प्रकार के झंडे को पास करने की आवश्यकता होती है, लेकिन उनमें से कोई भी इनम का उपयोग नहीं करता है। उदाहरण के एक जोड़े को मैं कहाँ लगता होगा उनके उपयोग लाभप्रद होगा रहे हैं Toast.LENGTH_SHORT/ Toast.LENGTH_LONGऔर View.GONE, View.VISIBLEआदि
ऐसा क्यों है? क्या डालम्विक में सरल पूर्णांक मानों से भी बदतर प्रदर्शन करते हैं? क्या कुछ और कमियां हैं जिनकी मुझे जानकारी नहीं है?