Ayant ces interface générique et la classe:Java génériques récursive générique de classe correspondant à
interface TestIntf<T extends TestIntf<T>>
{
void test(T param);
}
class TestImpl<T extends TestIntf<T>> implements TestIntf<T>
{
@Override
public void test(T param) { System.out.println(param); }
}
Cela échoue:
Class<? extends TestIntf<?>> clz = TestImpl.class;
(Type mismatch: ne peut pas convertir Class<TestImpl>
-Class<? extends TestIntf<?>>
)
Pourquoi? Comment fournir correctement une référence à la classe TestImpl
pour correspondre à Class<? extends TestIntf<?>>
?
compilateur se conforme sur le catalogué là. – pingw33n
@ pingw33n vérifier ma mise à jour – Bozho
Voir les documents API pour 'Object.getClass' (le bit en gras). –