के रूप में कोई विधि पैरामीटर घोषित करने के लिए मेरे पास एक तरीका है जिस पर मुझे पैरामीटर के रूप में enum को पास करने की आवश्यकता है।किसी भी enum
public <T> T doSomething(SomeEnum operation, Class<T> something);
मैं कई enums और है विधि एक आम एक है जो किसी भी enums साथ काम करना चाहिए है। किसी भी जेनेरिक एनम प्रकार को स्वीकार करने के लिए इस विधि हस्ताक्षर को लिखने का सही तरीका क्या है? मुझे पता है कि मैं इस उद्देश्य के लिए एक मार्कर इंटरफ़ेस का उपयोग कर सकता हूं, लेकिन मैं इसे जेनेरिक एनम हस्ताक्षर के साथ लिखना चाहता हूं। कृपया मुझे इस पर सलाह दें।
नीचे दिए गए के साथ बुरा विचार क्या है: (यह काम करता है लेकिन मुझे आईडीई से चेतावनियां मिलती हैं कि यह एक कच्चा प्रकार है। मैं कारण के बारे में स्पष्ट नहीं हूं)।
public void doSomething(Enum operation);
पर कुछ भी नहीं जोड़ सकते हैं। कार्रवाई में इस उदाहरण के लिए EnumSet भी देखें: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/EnumSet.html – Zarkonnen
हाय, उत्तर के लिए धन्यवाद, लेकिन मैं नहीं कर सका ' इस भाग को जोड़ने के रूप में यह हस्ताक्षर मुद्दों के बारे में फिर से शिकायत करता है। मुझे खेद है कि मुझे सटीक हस्ताक्षर पोस्ट करना चाहिए था जिसे मैं ढूंढ रहा हूं। कृपया मौजूदा विधि हस्ताक्षर पर मेरा संपादन देखें जिसमें मुझे आपके द्वारा उल्लेखित किए गए जोड़ों को जोड़ने की आवश्यकता है। इस मामले में, विधि हस्ताक्षर कैसा दिखता है ??? – popcoder
क्या यह आप देख रहे हैं? या टी और enum अलग प्रकार होना चाहिए? –