[Javalist] Generikus típusok
Mariák Kálmán
sirkalmi at kalmiesemese.hu
2014. Már. 18., K, 17:19:01 CET
Sziasztok!
Szoktam használni a generikus típusokat, de mikor valami komolyabbra
akarom fogni, akkor mindig rájövök, hogy valójában nem értek semmit. :-)
Van egy metódusom ami Jackson mappert alkalmaz és generikus típusokkal
van kezelve:
protected <T> T getObject(String path, Class<T> valueType) {
T object = null;
...
object = mapper.readValue(entity.getContent(), valueType);
return object;
}
Szépen működik. Ugyanezt szeretném megvalósítani, de listánál:
protected <T> List<T> getObjects(String path, Class<T> valueType) {
List<T> list = null;
...
list = mapper.readValue(entity.getContent(), new
TypeReference<List<T>>() {});
return list;
}
Nem működik, mert minden esetben LinkedHashMap-et állít elő, nem pedig a
megadottat.
Ha direkt kézzel beírom a kivánt típust, akkor működik:
protected <T> List<T> getObjects(String path, Class<T> valueType) {
List<T> list = null;
...
list = mapper.readValue(entity.getContent(), new
TypeReference<List<Category>>() {});
return list;
}
Hogy szokás ezt megoldani?
Köszi a válaszokat!
Mariák Kálmán
További információk a(z) Javalist levelezőlistáról