Dne Thursday 22 of November 2007 11:33:08 Martin Kuba napsal(a):
> Petr Gola napsal(a):
> > Řekl bych, že new T() nefunguje, protože T je dostupný jen pro
> > kompilaci. Je to sice ukecanější - je třeba předávat ještě "T.class",
> > ale je to navíc informace, která přežije kompilaci :)
>
> Tak tak, třída MyClass existuje jen jednou, takže
> v souboru MyClass.class nemůže být informace, o jaké T se jedná.
> Nezbývá, než si předat informaci o třídě T jako parametr.
>
> Makub

dalším spůsobem jak získat Class<T> je tenhle (musí být voláno uvnitř třídy 
MyClass):

(Class<T>) ((ParameterizedType) 
getClass().getGenericSuperclass()).getActualTypeArguments()[0];

mým zdrojem bylo tohle: http://www.hibernate.org/328.html#A6

-- 
Martin Beránek
ICZ a.s.
http://www.i.cz

Reply via email to