Warum bekomme ich hier eine Kompilierungswarnung (var args Methodenaufruf in Java)

Quelle:

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

Kompilieren:

javac TestVarArgs.java 

Fehler:

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

Ich bin mit javac 1.6.0_20 und den code für o/p zeigt an, dass eine nicht var arg Anruf getätigt wurde sowieso.

Kommentar zu dem Problem
@downvoter bitte Pflege, Stellung zu nehmen.Trotzdem habe ich es ausgeglichen 😀 Kommentarautor: Freak

InformationsquelleAutor der Frage abc | 2013-07-16

Schreibe einen Kommentar