क्या क्लास या इंटरफेसबी को स्वीकार करने वाली विधि को सामान्य रूप से पैरामीटर करना संभव है?जेनेरिक या इसके बजाय <टी संख्या बढ़ाता है CharSequence>
के कारण संकलित नहीं है | स्यूडोकोड
public <T extends Number | CharSequence> void orDoer(T someData){ // ... }
यानी बजाय कई विधि हस्ताक्षर लिखने की, मैं इस एक विधि एक तर्क
एक नंबर या CharSequence तर्क
साथ पास करना चाहिए के रूप में या तो एक नंबर या CharSequence स्वीकार करना चाहते हैंorDoer(new Integer(6));
int somePrimitive = 4;
orDoer(somePrimitive);
orDoer("a string of chars");
क्या आपको लगता है कि विधि है कि दो अलग-अलग तरीकों कि स्वीकार 'Number' या के साथ नहीं किया जा सकता अंदर करना होगा' CharSequence' क्रमशः और फिर काम करने के लिए एक तिहाई, निजी विधि प्रतिनिधि? –
मैं मानता हूं कि यदि लाभ दो प्रकार से निपट रहा है, तो लाभ असंतुलित है, लेकिन यह अधिक पैरामीटर प्रकारों को प्रस्तुत करने का एक अच्छा संक्षिप्त तरीका प्रतीत होता है (जो उपयोग करने योग्य सुपरटेप साझा नहीं करते हैं) – Cel
आपको [सेयलॉन] (http: // ceylon-lang.org/documentation/1.1/introduction/) संघ प्रकार। ;) – Anonsage