generika a '? extends Xxx'

Martin Beranek martin.beranek na i.cz
Čtvrtek Listopad 25 08:26:47 CET 2010


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:martin.beranek na i.cz
http://www.i.cz

------------- další část ---------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5212 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://amaio.cz/pipermail/konference/attachments/20101125/a9e0cb09/attachment.bin>


Další informace o konferenci Konference