मुझे अभी जावा 5 प्रोजेक्ट मिला है जिसमें यह त्रुटि है, मैंने जावा 5 और जावा 6 का उपयोग करने की कोशिश की, लेकिन यह अभी भी वहां है। यह किसी भी तरह से पहले काम करता था (चूंकि यह svn में था), मैं उस कंपाइलर त्रुटि को कैसे बाईपास कर सकता हूं?प्रारंभिक एनम फ़ील्ड को प्रारंभकर्ता के भीतर संदर्भित नहीं कर सकता है?
उत्तर
त्रुटि को "बाईपास" न करें - यह वह नहीं करेगा जो आप चाहते हैं। अच्छे कारण के लिए त्रुटि है।
enum मान किसी अन्य स्थिर फ़ील्ड से पहले शुरू किए जाते हैं। आप एक नक्शे में सभी मूल्यों को जैसे चाहें कुछ करना चाहते हैं, किसी और सब कुछ के बाद एक स्थिर प्रारंभकर्ता में यह कार्य करें:
import java.util.*;
public enum Foo
{
BAR, BAZ;
private static final Map<String, Foo> lowerCaseMap;
static
{
lowerCaseMap = new HashMap<String, Foo>();
for (Foo foo : EnumSet.allOf(Foo.class))
{
// Yes, use some appropriate locale in production code :)
lowerCaseMap.put(foo.name().toLowerCase(), foo);
}
}
}
जॉन - क्या आपको पता है कि यह त्रुटि ग्रहण 3.3 में क्यों नहीं होती है लेकिन 3.4 में होती है? – tddmonkey
क्या 'Foo foo: Foo.values () 'के बजाय' Foo foo: EnumSet.allOf (Foo.class) 'का उपयोग करने के लिए ऊपर दिए गए उदाहरण में कोई कारण है? –
@AbdullahJibaly: वास्तव में नहीं। वे मुझे बहुत समकक्ष हैं, मुझे लगता है। –
एक और तरीका है करने के लिए "बाईपास" यह, उदाहरण के लिए एक काउंटर की जरूरत है या कुछ प्रत्येक initalization पर चलने की जरूरत है, इसलिए की तरह, एक निजी स्थिर भीतरी वर्ग बनाने के लिए है:
- 1. जावा एनम स्थिरांक प्रारंभिक क्यों नहीं है?
- 2. ऑटो प्रारंभिक क्यों नहीं है जब इसका प्रारंभकर्ता संदर्भ है?
- 3. COM क्लाइंट में COM को संदर्भित नहीं कर सकता है?
- 4. एक फ़ील्ड प्रारंभकर्ता गैर स्थैतिक फ़ील्ड, विधि या संपत्ति का संदर्भ नहीं दे सकता है?
- 5. जावा enum- परिभाषित होने से पहले किसी फ़ील्ड को संदर्भित नहीं कर सकता
- 6. क्या प्रारंभिक प्रारंभिक अंतराल सदस्यों को प्रारंभ करने के लिए प्राथमिक प्रारंभकर्ता पसंद करते हैं?
- 7. सीओटर प्रारंभकर्ता सूची में संदर्भित अस्थायी बाध्यकारी
- 8. प्रारंभिक सूचियों के भीतर Rvalue संदर्भ उपयोग
- 9. int को 2 एनम मूल्य नहीं लगाया जा सकता है?
- 10. वीसी ++ की एक बड़ी बग? प्रारंभकर्ता-सूची क्यों मूल्य-प्रारंभिक संरचना को प्रारंभ नहीं करती है?
- 11. मुझे कैसे पता चलेगा कि प्रारंभिक प्रारंभकर्ता कौन सा प्रारंभकर्ता है?
- 12. सदस्य प्रारंभकर्ता में 'यह' का उपयोग नहीं कर सकता?
- 13. "चार को संदर्भित नहीं किया जा सकता है" त्रुटि
- 14. सी # कंपाइलर त्रुटि: "structs में उदाहरण फ़ील्ड प्रारंभकर्ता नहीं हो सकता है"
- 15. क्या एक वाईएएमएल ऑब्जेक्ट दूसरे को संदर्भित कर सकता है?
- 16. डबल को संदर्भित नहीं किया जा सकता है?
- 17. क्या होगा यदि किसी वर्ग में कोई नामित प्रारंभिक प्रारंभकर्ता नहीं है?
- 18. एएसएम का उपयोग कर प्रारंभकर्ता के साथ स्थिर अंतिम फ़ील्ड को कैसे जोड़ा जाए?
- 19. संदर्भित पुस्तकालय कॉपी नहीं है
- 20. प्रारंभिक सूची विजुअल स्टूडियो 2012 में वेक्टर के साथ काम नहीं कर रही है?
- 21. स्कोप हेल्पर्स के विनाश के लिए सी ++ "प्रारंभिक लेकिन संदर्भित नहीं" चेतावनी से निपटना?
- 22. मैं इस एनम एक्सटेंशन विधि को "देख" क्यों नहीं सकता?
- 23. जावा एनम अंतिम क्यों नहीं हो सकता है?
- 24. अजीब जेपीए व्यवहार, प्रारंभिक फ़ील्ड शून्य
- 25. यूनियनों का भेदभाव एक दूसरे से संदर्भित कर सकता है?
- 26. std :: सरणी प्रारंभकर्ता सूची प्रारंभिक सूची में प्रारंभिकरण
- 27. संकलन त्रुटि C2099: प्रारंभकर्ता स्थिर नहीं है
- 28. एनम वैरिएबल के साथ मैं क्या कर सकता हूं?
- 29. प्रारंभकर्ता तत्व सी में स्थिर नहीं है
- 30. संदर्भित बाहरी मापदंड एक SQLProjection के भीतर से उपनाम क्वेरी
यह अपने कोड erroring है कि – tddmonkey
आप क्या कोशिश कर रहे हैं का एक छोटा सा कोड नमूना प्रदान कर सके पोस्ट करने के लिए मदद कर सकता है प्राप्त करने के लिए? –
इस पर खेद है, मैंने इसे Google के माध्यम से पाया, लेकिन ऐसा लगता है कि निजी स्थिर अंतिम क्षेत्र एक आदिम प्रकार है। क्या किसी के पास कोई विचार है? – Norswap