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