Miren esto a ver si tengo razon...
public static void main(String...p)
{
metodo(1,2,3,4);
}
static void metodo(Integer[] a)
{
out.println("1");
}
static void metodo(Integer ... a)
{
out.println("2");
}
Se genera un error diciendo: "metodo(java.lang.Integer[]) is already
defined in Principal"
Por lo que concluyo que el compilador considera que metodo(Integer[]
a) == metodo(Integer... a)
Por otro lado...
public static void main(String...p)
{
metodo(1,2,3,4);
}
static void metodo(int ... a)
{
out.println("1");
}
static void metodo(Integer ... a)
{
out.println("2");
}
Lo que me produce el error: reference to metodo is ambiguous,
in Principal and method metodo(java.lang.Integer...) metodo(int...)
Por lo que concluyo que metodo(int ... a) == metodo(Integer ... a)
Ahora bien, dado que:
metodo(Integer[] a) == metodo(Integer... a) y
metodo(int ... a) == metodo(Integer ... a)
Asumo que metodo(Integer[] a) == metodo(int ... a), pero resulta que
este ejemplo compila y corre perfectamente.
public static void main(String...p)
{
metodo(1,2,3,4);
}
static void metodo(int ... a)
{
out.println("1");
}
static void metodo(Integer[] a)
{
out.println("2");
}
Es una tonteria de Java o estoy equivocado?
Saludos.