मुझे पता है कि एक अतिरिक्त बाध्य निर्दिष्ट करते समय पहली बाउंड जावा में एक प्रकार पैरामीटर संभव नहीं है; हालांकि, मैं सोच रहा था कि क्या कोई ऐसा कुछ करने का वैकल्पिक तरीका जानता है और इसे संकलित समय पर सुरक्षित रखने के लिए? मैंने नीचे एक उदाहरण दिया है।क्या पहली बाध्य एक प्रकार पैरामीटर है जब अतिरिक्त बाध्य निर्दिष्ट करने का कोई वैकल्पिक तरीका है?
निम्न कोड में जो मैं संदर्भित कर रहा हूं वह यह है: <E extends T & Comparable<T>>
। इस स्थिति में, यदि T
का प्रकार तुलनीय है, तो मैं इनबिल्ट तुलनित्र का उपयोग करने में सक्षम होना चाहता हूं, अन्यथा, मैं अपना खुद का तुलनित्र निर्दिष्ट करना चाहता हूं।
क्या संकलन समय पर टाइप-सुरक्षा रखते हुए ऐसा करने का कोई वैकल्पिक तरीका है?
public class ExampleClass<T, U> {
[...]
public <E extends T & Comparable<T>> ExampleClass(Function<U, E> function) {
this.function = function;
this.comparator = (E a, E b) -> a.compareTo(b);
}
public ExampleClass(Function<U, T> function, Comparator<U> comparator) {
this.function = function;
this.comparator = comparator;
}
}
'तुलनाकर्ता के साथ अच्छी युक्ति। प्राकृतिक ऑर्डर();'! –