बढ़ाता है मुझे कक्षा के लिए कक्षा वस्तु मिली है (मेरे पास Class<? extends Enum>
है) और मुझे इस enum द्वारा प्रतिनिधित्व किए गए समेकित मानों की एक सूची प्राप्त करने की आवश्यकता है। values
स्थैतिक फ़ंक्शन की मुझे आवश्यकता है, लेकिन मुझे यकीन नहीं है कि क्लास ऑब्जेक्ट से इसका उपयोग कैसे किया जाए।जावा एनम्स: कक्षा से समेकित मूल्यों की सूची <? Enum>
उत्तर
Class#getEnumConstants() बुला के रूप में प्रतिबिंब सरल है का उपयोग करते हुए:
List<Enum> enum2list(Class<? extends Enum> cls) {
return Arrays.asList(cls.getEnumConstants());
}
आप मूल्य आप की जरूरत का नाम जानते हैं:
Class<? extends Enum> klass = ...
Enum<?> x = Enum.valueOf(klass, "NAME");
आप नहीं करते हैं, आप उनमें से एक सरणी प्राप्त कर सकते हैं (जैसा कि टॉम पहले मिला था):
klass.getEnumConstants();
मैं देखना है कि EnumSet#allOf()
उल्लेख नहीं है आश्चर्य हो रहा:
public static <E extends Enum<E>> EnumSet<E> allOf(Class<E> elementType)
एक enum निर्दिष्ट तत्व प्रकार में सभी तत्त्व युक्त सेट बनाता है।
निम्नलिखित enum
पर विचार करें:
enum MyEnum {
TEST1, TEST2
}
सीधे शब्दों में इस तरह विधि कॉल:
Set<MyEnum> allElementsInMyEnum = EnumSet.allOf(MyEnum.class);
बेशक
, यह एक Set
, नहीं एक List
देता है, लेकिन यह पर्याप्त होना चाहिए कई (सबसे?) मामलों का उपयोग करें।
या, अगर आपके पास एक अज्ञात enum
:
Class<? extends Enum> enumClass = MyEnum.class;
Set<? extends Enum> allElementsInMyEnum = EnumSet.allOf(enumClass);
Class#getEnumConstants()
की तुलना में इस विधि का लाभ यह है कि इतना है कि यह यह करने के लिए एक enum
के अलावा और कुछ पारित करने के लिए संभव नहीं है यह लिखा गया है । प्रतिबिंब -
EnumSet.allOf(String.class); // won't compile
- 1. outputting कक्षा संग्रहित मूल्यों की
- 2. जावा एनम्स का विस्तार
- 3. जावा एनम्स का प्रदर्शन?
- 4. जावा एनम्स enum
- 5. क्रमबद्ध एक शब्दकोश <int, सूची <int>> कुंजी सूची के अंदर + मूल्यों से
- 6. पायथन की सूची कक्षा
- 7. JQuery में अल्पविराम से अलग मूल्यों की सूची से <select> को कैसे बाध्य करें?
- 8. वस्तुओं की सूची के प्राप्तकर्ताओं से मूल्यों की एक सूची बनाएं
- 9. सूची <int> को अल्पविराम से अलग मूल्यों की स्ट्रिंग के लिए
- 10. मूल्यों की स्टोर सूची (जैसे रुचियां)
- 11. सूची <Integer> की सूची किसी अन्य सूची में मूल्यों, प्रति संदर्भों की प्रतिलिपि कैसे करें?
- 12. तरह मूल्यों और dict अजगर से चाबी की वापसी सूची
- 13. ड्रॉपडाउन से मूल्यों की सूची प्राप्त करें जिन्हें jquery
- 14. समेकित कनवर्ट करना। स्ट्रिंग्स की सूची में रेंज
- 15. जावा की कक्षा <T> सामान्य क्यों है?
- 16. सी # जेनिक्स: सूची <Object> या नई कक्षा सूची
- 17. जावा एनम्स और स्विच स्टेटमेंट्स - डिफ़ॉल्ट केस?
- 18. एक्सएमएल में <ArrayOf> की सूची <<
- 19. जावा एनम्स - फ़ील्ड्स, अमूर्त विधियों और कक्षा के स्तर के बीच विकल्प
- 20. समेकित
- 21. इंटरफ़ेस की सूची में कक्षा की सूची कैसे पास करें?
- 22. सी # में मूल्यों की सूची बनाने का त्वरित तरीका?
- 23. जावा: एनम्स बनाम if-then-else
- 24. मैं स्कैला से जावा एनम्स कैसे एक्सेस करूं?
- 25. जावा में कक्षाओं की सूची
- 26. सूची <T> वाली कक्षा को deserializing: प्रारंभ में सूची नल से भरा क्यों है?
- 27. Convert स्ट्रिंग सूची <Object> [] जावा
- 28. Convert सूची <Enum> सूची में <string>
- 29. सभी एनम्स
- 30. सूची से SqlBulkCopy <>
इसके स्थिर: एक ओर जहां यह संकलन नहीं होगा
: उदाहरण के लिए, नीचे दिए गए कोड वैध है और
null
देता है। – IAdapter'कक्षा' एक प्रतिबिंब वस्तु है (यह पैकेज को पूर्ववत करता है)। –