:-) Presne tak ako pisete. Pri rieseni sme obidvaja vyuzili to, ze deklaracia metody umoznuje nadefinovat premennu typu inline, co ale pri deklaracii triedy alebo premennej nie je mozne.

Ales



Martin Kuba wrote:

ales wrote:

Podla mojho nazoru taketo obmezenie nie je mozne stanovit. Rovnako si myslim, ze nie je mozne napisat implementaciu, ktora by splnala Vase poziadavky a zaroven implementovala iba metody ktore definuje rozhranie Map. Podla toho ako ja chapem Vase poziadavky, generics a definiciu rozhrania Map snazite sa uskutocnit nieco co v principe nie je mozne. Zda sa, ze pokial neustupite od svojich poziadaviek tak sa nevyhnete implementacii vlastneho typu, ktory bude umoznovat stanovit Vami pozadovane obmedzenia. V prilohe je ukazka ako by mohla implementacia taketo typu vyzerat.


Vidim ze jsme dosli k temuz zaveru skoro ve stejny cas :-)

Jeste bych dodal, ze podle mne je problem v tom, ze u parametrizovane tridy se da udelat nanejvys:

Map<Class<? extends Number>,List<? extends Number>> map
 = new HashMap<Class<? extends Number>,List<? extends Number>>();

Jenomze se neda specifikovat, ze ty wildcardy musi byt tentyz typ,
takze tu smisenou moznost to nezachyti.

Makub

Odpovedet emailem