हालांकि enums का उपयोग करना सुरक्षित है, तो enum को स्ट्रिंग और इसके विपरीत रूपांतरित करने की आवश्यकता काफी बार होती है। और जावा में ऐसा करने के लिए कोई अंतर्निहित सुविधा नहीं है। और आप अंततः valueOf() और toString() का उपयोग कर समाप्त हो जाएंगे। और उस दृष्टिकोण का उपयोग केवल तारों का उपयोग करने से बहुत अलग नहीं होगा। क्योंकि आपको उन स्थितियों को संभालने की आवश्यकता होगी जहां स्ट्रिंग को एनम में परिवर्तित नहीं किया जा सकता है।
तो स्थिर स्थिर तारों का उपयोग करना आसान है और एक सामान्य अभ्यास है, AFAIK।
उदाहरण के लिए, आप कुछ एपीआई का उपयोग कर सर्वर से बातचीत करना चाहेंगे। आपको हर विधि और एनम के रूप में प्रतिक्रिया को परिभाषित करने की आवश्यकता होगी। और फिर आपको स्ट्रिंग और वैल्यूऑफ विधियों को जोड़ना होगा। स्ट्रिंग का उपयोग क्यों न करें?
@ मार्टिन: मैं स्ट्रिंग कॉन्स में इनपुट की तुलना करने की सोच रहा हूं अन्यथा अमान्य इनपुट अपवाद फेंक रहा हूं, अच्छा नहीं। मैंने खुली चाबियों के सुझाव के कारण सवाल पूछा, ऐसा लगता है कि जावा के भीतर वर्वा अवधारणा को कम करना है। –