Pourquoi dois-je obtenir une compilation d'avertissement ici (var args appel de méthode en Java)

Source:

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);    
  }
}

Compiler:

javac TestVarArgs.java 

Erreur:

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

Je suis en utilisant javac 1.6.0_20 et le code o/p indique qu'un non var arg appel a été fait de toute façon.

  • merci des commentaires à ce sujet.De toute façon j'ai équilibré 😀
InformationsquelleAutor abc | 2013-07-16