Zdravim konferenciu,
skusam sa hrat s generics a narazilo som na jeden problem, ktoremu velmi nerozumiem.
Skusim nacrtnut:
mam hierarchiu tried (JPA, ale to nie je asi podstatne)
BaseEntity
ZipCode extends BaseEntity
Login extends BaseEntity
atd
potom mam abstraktnu triedu BaseManager, ktora implementuje metodu pre nacitanie kolekcie z databazy:
protected Collection extends BaseEntity>
loadCollectionByQuery(Class> entityClass, String query, Object[]
params) throws DBException.....
a dalsiu triedu
LOVManager, a tu mam metodu
public Collection getAllZipCodes() throws DBException
a tu je problem:
ak napisem nieco taketo:
public Collection getAllZipCodes() throws DBException
return (Collection) loadCollectionByQuery(ZipCode.class, "select z from ZipCode z", null);
}
prekladac hlasi warning (unchecked cast...), a ked si vypisem po caste
hodnoty v kolekcii, su tam instancie ZipCode, ale hodnoty atributov id a
stamp (ktore su v BaseEntity) su null (???)
ked naspisem toto:
public Collection getAllZipCodes() throws DBException
Collection extends BaseEntity> tmp = loadCollectionByQuery(ZipCode.class, "select z from ZipCode z", null);
Collection ret = (Collection) tmp;
return tmp;
}
prekladac sice tiez hlasi warning, ale instancie ZipCode su uz ok (id aj stamp su != null)
Co mi unika?
- generics - cast problem jerzy burzek
- Re: generics - cast problem jerzy burzek
- Re: generics - cast problem Robert Novotny
- Re: generics - cast problem jerzy burzek
- Re: generics - cast problem Vaclav Stumbauer