Je ne comprends pas pourquoi le code suivant génère un avertissement.Java: la conversion générique génère un avertissement, pourquoi?
interface Generic<T> {
}
interface A {
}
class B {
Generic<A> c;
<T extends A> B(Generic<T> a) {
c = (Generic<A>) a; //warning here
}
}
//Unchecked cast from Generic<T> to Generic<A>
Dans la classe B je suis seulement intéressé à utiliser les instances de génériques qui sont de type A. Cet avertissement suggère que je dois stocker l'argument générique comme T au lieu de A.
Mais cette signifie que je devrais aussi déclarer B générique, ce qui semble rendre les choses plus compliquées qu'elles ne devraient l'être.
Que se passe-t-il lorsque vous ne jouez pas? – aperkins
erreur d'incompatibilité de type – Mike