Tak si trošku odpovím sám. Je třeba použít T<? super B>, ale neřeší to
můj problém...

private class A {}

private class B extends A {}
        
private abstract class DaoA<T extends A> {
    void doSomething(T param) {}
}

private class DaoB extends DaoA<B> {}

a pak potrebuji

DaoA<? extends A> dao = new DaoB();
dao.doSomething(new B()); // nejde přeložit



Dne 25.11.2010 08:06, Martin Beranek napsal(a):
> Zdravím,
> 
> proč toto nefunguje?
> 
> private class B {}
>       
> private class Test<T> {
>     void doSomething(T param) {}
> }
> 
> a nekde potrebuji
> 
> Test<? extends B> t = new Test<B>();
> t.doSomething(new B()); // toto nelze zkompilovat
> 
> diky
> 

-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00  Brno
Tel.: +420 222 272 323
Tel.: +420 222 272 111
Fax.: +420 222 272 122
mailto:[email protected]
http://www.i.cz

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem