2013-01-14 16 views
28

मैं यह जांचने की कोशिश कर रहा हूं कि मेरे वीओ में कौन से मूल्य निर्धारित किए गए हैं।स्विच केस में enum का उपयोग कैसे करें

नीचे मेरी क्लैसिस हैं। मैं हो रही है "योग्य मामला लेबल MyEnum.UserType.DOCTORS अयोग्य enum लगातार डॉक्टरों के साथ प्रतिस्थापित किया जाना चाहिए"

कृपया मुझे मैं गलत यहाँ क्या कर रहा हूँ पहचान करने में मदद।

MyEnum.java

public MyEnum{ 
    private UserType userType; 

    public UserType getUserType(){ 
     return userType; 
    } 

    public void setUserType(UserType userType){ 
     this.userType = userType; 
    } 

    public static enum UserType{ 
     DOCTORS("D"), 
     PATIENT("P"), 
     STAFF("S"); 
    } 

} 

EnumTest.java

public EnumTest { 

    ..... 
    public void onGoBack(MyEnum myEnum) { 

     switch(myEnum.getUserType()) 
     { 
      case UserType.DOCTORS: // this shows "The qualified case label MyEnum.UserType.DOCTORS must be replaced with the unqualified enum constant DOCTORS" 
       break; 

     } 
    } 

} 
+5

कंपाइलर द्वारा सुझाए गए अनुसार 'केस डॉक्टरों' का उपयोग करने का प्रयास करें। –

+2

आप कोशिश क्यों करते हैं और करते हैं कि त्रुटि संदेश कहता है कि आपको क्या करना चाहिए? – fge

+4

मुझे एसओ में कम से कम एक बार यह प्रश्न उपयोगी लगता है, और अपवॉट्स की संख्या का अर्थ है पीपीएल मेरे साथ सहमत है। यह वाक्यविन्यास बहुत असामान्य है जहां आप कक्षा के बाहर होने पर एक निरंतर निरंतर नाम का उपयोग कर सकते हैं जहां निरंतर परिभाषित किया जाता है। – Tristan

उत्तर

48

त्रुटि संदेश पढ़ें। यह आपको बिल्कुल बताता है कि क्या करना है।

switch(myEnum.getUserType()) 
{ 
    case DOCTORS: 
     break; 

} 
+0

आपको बहुत बहुत धन्यवाद ... यह – Sree

+1

काम करता था क्या एसओ पर एक प्रश्न पोस्ट करने और उत्तर देने के लिए त्रुटि संदेश पढ़ने में वाकई मुश्किल थी? ': /' –

+1

क्या आपके पास एक और वर्ग को एक और वर्ग में एक ही बात कहा जाता है? उस मामले में 'डॉक्टर' अस्पष्ट नहीं होंगे? – HelloGoodbye

संबंधित मुद्दे