Tengo una pregunta relacionada con el siguiente fragmento de código:tema Java con var-args y el boxeo
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..."
}
}
La primera llamada a wide_vararg falla al compilar (diciendo que el método es ambiguo), mientras que el segundo compila solo multa.
¿Alguna explicación sobre este comportamiento? Gracias!
Si esto no es solo un experimento sobre sobrecarga, lea Effective Java SE: Item 41 Use la sobrecarga juiciosamente. – TJR
Esto fue puramente un experimento, solo para resolver una posible pregunta para el examen de certificación OCPJP. –