:-) 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