Integer[] arry = {1, 2, 3};
foo(arry); // (1
foo(arry, "a"); // (2




private void foo(Object... o) {
Integer[] arry = (Integer[]) o[0];
for (int i = 0 ; i < arry.length ; i++)
System.out.println(arry[i]);
}

(1 は動かないのに (2 だとうまく行くのはなぜですか?