मैंने निम्नलिखित सामान्य वर्ग:जावा जेनरिक संकलन त्रुटि
public class GenericClass<E,T extends Comparable<T>>
{
public static <E, T extends Comparable<T>> GenericClass<E, T> create()
{
return new GenericClass<E, T>();
}
private GenericClass()
{
}
}
और यह कैसे मैं बस के लिए इसका इस्तेमाल होता है:
GenericClass<MyClass, Double> set = GenericClass.create();
ग्रहण संकलन कोई त्रुटि है, तथापि चलता - चींटी प्रदान करता है के साथ निर्माण निम्न त्रुटि:
MyClass.java:19: incompatible types; no instance(s) of type variable(s) E,T exist so that GenericClass<E,T> conforms to GenericClass<MyClass,java.lang.Double>
[javac] found : <E,T>GenericClass<E,T>
[javac] required: GenericClass<MyClass,java.lang.Double>
[javac] GenericClass<MyClass, Double> set = GenericClass.create();
धन्यवाद!
और SortedSetByDoubleValue है ...? –
फिक्स्ड ... मैंने सादगी – duduamar
के लिए कक्षा के नाम बदल दिए हैं मेरा सुझाव स्थिर विधि बनाने और कक्षा में जेनेरिक प्रकारों के लिए समान नामों का उपयोग नहीं करना है। यद्यपि यह तकनीकी रूप से कानूनी है, लेकिन यह कुछ पागल गलतियों को स्थानांतरित करने के लिए कठिन हो सकता है। मैं पूरी तरह से() परिभाषा में ई 2 और टी 2 (या जो भी) के साथ ई, टी को प्रतिस्थापित करने का दृढ़ता से सुझाव दूंगा। उप-वर्गों के साथ सर्वोत्तम परिणामों के लिए –