मैं उदाहरण के लिए, स्थिति है जहाँ मैं एक वर्ग है कि सरल enum प्रकार के रूप में प्रतिनिधित्व किया जा सकता है के लिए एक चर की जरूरत है अक्सर है:जावा एनम ओवरकिल?
private enum PageOrder {DOWN_THEN_OVER, OVER_THEN_DOWN};
एक घोषणा वर्ग है कि तब मैं चर धारण भीतर enum प्रकार हैं योग्य नाम MyClass.PageOrder
का उपयोग करने के लिए जो आरामदायक नहीं है। लेकिन अगर मैं एक नई कक्षा बनाता हूं तो मेरे पास सिर्फ एक साधारण enum घोषणा के लिए एक कक्षा है, जो मेरे लिए अधिक लगता है।
इसी कारण से, मैं अक्सर enum प्रकार के बजाय पूर्णांक का उपयोग करता हूं।
इस विषय पर कोई टिप्पणी/सुझाव?
टाइपिंग को बचाने के लिए किसी गलत व्यक्ति के सही समाधान को "ठीक" न करें। – biziclop
"* लेकिन अगर मैं एक नई कक्षा बनाता हूं तो मेरे पास सिर्फ एक साधारण enum घोषणा के लिए एक वर्ग है, जो मेरे लिए अधिक लगता है *" - ओवरकिल कहां है? एक निजी enum एक वर्ग भी है (अपनी खुद की .class फ़ाइल के साथ) - यह केवल एक अलग दृश्यता है। –
अपनी फ़ाइल में एक enum overkill की तरह लग सकता है, लेकिन यह नहीं है। यह पूरी तरह से उपयुक्त है और यह अच्छी डिजाइन है। Enum क्लास और इसके प्रत्येक स्थिरांक में कुछ उपयोगी जावाडोक जोड़ें, और आप पाएंगे कि स्रोत फ़ाइल लगभग उतनी ही स्पष्ट नहीं होगी। आंतरिक कक्षाओं के लिए वैध उपयोग हैं, लेकिन केवल एक आंतरिक वर्ग बनाना क्योंकि इसकी अपनी फ़ाइल "भारी हेवीवेट" एक अच्छा कारण नहीं है। – VGR