हमारे पूरे प्रोजेक्ट में, हमारे पास इस तरह के enums हैं। वे ठीक काम करते हैं, लेकिन हम उनके बारे में निश्चित नहीं हैं।मेरा गणन सही है?
विशेष रूप से getDocumentType (स्ट्रिंग) विधि के साथ।
क्या सभी Enums फ़ील्ड पर पुनरावृत्ति से बचने का कोई तरीका है?
public enum DocumentType {
UNKNOWN("Unknown"),
ANY("Any"),
ASSET(Asset.class.getSimpleName()),
MEDIA(Media.class.getSimpleName()),
MEDIA35MM(Media.class.getSimpleName() + " 35mm");
private String label;
private DocumentType(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
public static DocumentType getDocumentType(String label){
for(DocumentType documentType : DocumentType.values()){
if(documentType.getLabel().equals(label)){
return documentType;
}
}
return UNKNOWN;
}
}
संपादित करें: newacct प्रतिक्रिया की जाँच करें। वह भी ठीक है।
यह उदाहरणों Enum के लिए लेबलों की स्थिर मानचित्र स्टोर करने के लिए होती है, लेकिन frustratingly, जावा आप एक enum के निर्माता से एक स्थिर क्षेत्र का संदर्भ नहीं दूँगा। – skaffman
मुझे आश्चर्य है कि आप "संपत्ति" लिखने के बजाय Asset.class.getSimpleName() का उपयोग क्यों करते हैं? क्या आप रीफैक्टरिंग द्वारा नाम बदलने की योजना बना रहे हैं? – akarnokd
क्योंकि तारों के बजाय वर्ग अक्षर का उपयोग करना हमेशा अच्छा अभ्यास है? – skaffman