Источник:
public class TestVarArgs {
public void varArgsMethod(Object ... arr) {
System.out.println(arr.getClass().getName());
for(Object o : arr) {
System.out.println(o);
}
}
public static void main(String[] args) {
TestVarArgs tva = new TestVarArgs();
tva.varArgsMethod(args);
}
}
Compile:
javac TestVarArgs.java
Ошибка:
TestVarArgs.java:15: warning: non-varargs call of varargs method with inexact argument type for last parameter;
cast to java.lang.Object for a varargs call
cast to java.lang.Object[] for a non-varargs call and to suppress this warning
tva.varArgsMethod(args);
^
1 warning
Я использую javac 1.6.0_20
, а код o/p указывает, что в любом случае был выполнен вызов non var arg.