निम्नलिखित जावा enum को देखते हुए:कैसे() ओवरराइड toString साथ enum की स्ट्रिंग परिणाम कन्वर्ट करने के लिए वापस enum के लिए?
public enum AgeRange {
A18TO23 {
public String toString() {
return "18 - 23";
}
},
A24TO29 {
public String toString() {
return "24 - 29";
}
},
A30TO35 {
public String toString() {
return "30 - 35";
}
},
}
वहाँ किसी भी तरह से की एक स्ट्रिंग मान परिवर्तित करने के लिए है - इसी enum मूल्य अर्थात AgeRange.A18TO23 करने के लिए "18 23"?
धन्यवाद!
मैं मानता हूं कि मूल्य को कन्स्ट्रक्टर में रखना अच्छा लगता है।बहुत बड़े enums के लिए (और वे वास्तव में बहुत बड़ा होना होगा) यह एक मानचित्र का उपयोग करने के लिए समझ में आता है। मैं व्यक्तिगत रूप से पाश अंदर से रूप में अच्छी तरह वापसी चाहते हैं, लेकिन फिर मैं "एक ही स्थान पर पठनीयता की परवाह किए बिना से वापसी" की :) –
एक अन्य बिंदु एक प्रशंसक कभी नहीं किया गया है - यह बजाय EnumSet.allOf उपयोग करने के लिए बेहतर होगा AgeRange.values () के रूप में अन्यथा आप प्रत्येक कॉल के लिए एक नई सरणी बनाते हैं। –
मैं आपके साथ जॉन स्कीट से सहमत हूं :) बदल रहा है ... – sakana