2011-06-08 6 views
23
public class Constant { 

    ...... 

    public enum Status { 
    ERROR, 
    WARNING, 
    NORMAL 
    } 

    ...... 

} 

। सवाल यह है कि, मैं enum मूल्य का उपयोग कैसे कर सकता हूं। उदाहरण के लिए, मैं ERROR स्थिति की स्ट्रिंग प्रस्तुति प्राप्त करना चाहता हूं।

+0

'कॉन्स्टेंट.स्टैटस स्थिति = कॉन्स्टेंट.स्टैटस.NORMAL;' काम नहीं करता है? –

उत्तर

33

आप

import package.name.Constant; 
//... 
Constant.Status foo = Constant.Status.ERROR; 

या की तरह कहीं और इसे उपयोग करने में सक्षम हो जाएगा,

import package.name.Constant; 
import package.name.Constant.Status; 
//... 
Status foo = Status.ERROR; 

किसी भी enum तत्व की घोषित नाम पाने के लिए, का उपयोग Enum#name():

Status foo = ...; 
String fooName = foo.name(); 
+12

यदि कोई enum एक वर्ग का सदस्य है, तो यह निश्चित रूप से स्थैतिक है - स्थिर कीवर्ड की कोई आवश्यकता नहीं है। – planetjones

+1

ओह! मुझे यह नहीं पता था, धन्यवाद। फिक्स्ड। –

6

अपने कोड में बस करो:

Constant.Status.ERROR.toString(); 
1

इस के बाद से पहले उल्लेख नहीं किया गया था, मूल प्रश्न में enumpublic पहुँच संशोधक जिसका मतलब है कि हम कहीं से भी Constant.Status.ERROR.toString() ऐसा करने में सक्षम होना चाहिए है। यदि यह private पर सेट किया गया था तो यह केवल कक्षा में उपलब्ध होगा: Constant। इसी तरह यह एक संशोधक (डिफ़ॉल्ट) के मामले में एक ही पैकेज के भीतर सुलभ है।

+0

क्या 'बाहरी enum'? – EJP

+0

धन्यवाद "कक्षा" में संपादित! – AaCodes

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