可能重複:
Is it possible to solve the 「A generic array of T is created for a varargs parameter」 compiler warning?的Java:類型安全:爲一個可變參數參數創建A的通用陣列
考慮這個給出:
interface A<T> { /*...*/ }
interface B<T> extends A<T> { /*...*/ }
class C { /*...*/ }
void foo(A<T>... a) { /*...*/ }
現在,其他一些代碼想要使用foo
:
B<C> b1 /* = ... */;
B<C> b2 /* = ... */;
foo(b1, b2);
這給了我警告
Type safety : A generic array of A is created for a varargs parameter
所以我改變了調用此:
foo((A<C>) b1, (A<C>) b2);
這仍然給了我同樣的警告。
爲什麼?我該如何解決這個問題?
所提到的Coin項目功能現在 - 見[ @SafeVarargs](http://docs.oracle.com/javase/7/docs/api/java/lang/SafeVarargs.html)在Java 7中。 – 2012-07-17 14:46:47