मेरे पास निम्न कोड है:जावा में मिटाएं और ओवरलोडिंग टाइप करें: यह क्यों काम करता है?
public class Pair< T, U > {
public T first;
public U second;
}
public class Test {
public int method(Pair< Integer, Integer > pair) {
return 0;
}
public double method(Pair< Double, Double > pair) {
return 1.0;
}
}
यह वास्तव में संकलित करता है और काम करता है जैसे किसी की उम्मीद होगी। लेकिन अगर रिटर्न प्रकार समान होते हैं, तो यह संकलित नहीं होता है, अपेक्षित "नाम टकराव: विधि (जोड़ी) और विधि (जोड़ी) में एक ही मिट है"
यह देखते हुए कि रिटर्न टाइप isn ' विधि हस्ताक्षर का हिस्सा नहीं है, यह अधिभार संभव कैसे है?
[जेवाक के साथ जावा जेनेरिक कोड संकलन, संभव ग्रहण हेलीओस के साथ विफल रहता है] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3452859/java-generics-code-compiles-with-javac-fails-with-eclipse- हेलीओस) – BalusC