मैं निम्नलिखित कोड का टुकड़ा से संबंधित एक प्रश्न है:जावा मुद्दा
class VarArgsTricky {
static void wide_vararg(long... x) {
System.out.println("long...");
}
static void wide_vararg(Integer... x) {
System.out.println("Integer...");
}
public static void main(String[] args) {
int i = 5;
wide_vararg(i, i, i); // needs to widen and use var-args
Long l = 9000000000l;
wide_vararg(l, l); // prints sucessfully "long..."
}
}
wide_vararg करने के लिए पहली कॉल के विफल होने (कह रही है कि विधि ambigous है), जबकि दूसरी बस संकलित संकलित करने के लिए ठीक।
इस व्यवहार के बारे में कोई स्पष्टीकरण? धन्यवाद!
यदि यह ओवरलोडिंग के बारे में सिर्फ एक प्रयोग नहीं है, तो कृपया प्रभावी जावा एसई: आइटम 41 को समझदारी से ओवरलोडिंग का उपयोग करें। – TJR
ओसीपीजेपी प्रमाणन परीक्षा के लिए एक संभावित प्रश्न सुलझाने के लिए यह पूरी तरह से एक प्रयोग था। –