Toto nejde.

Trik s reflection by fungoval pouze v případě, že bude vždy existovat konkrétní 
potomek - něco jako:

 public class XxxConvertor extends DbToWsdlConvertor<Xxx1, Xxx2> {
    ....
 }

 Jinak to bohužel z principu fungování generik nelze (informace za běhu vůbec 
není k dispozici).

Kamil Podlešák

> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]]on Behalf Of vkrejcirik
> Sent: Tuesday, June 16, 2009 1:33 PM
> To: [email protected]
> Subject: Vytvoreni instance parametru, ktery je zadan v 
> genericke tride
> 
> 
> Dobry den, chtel bych se zeptat jak by slo vytvorit instanci  
> parametru 
> genericke tridy. Mam nasledujici kod:
> 
> public class DbToWsdlConvertor<T_DB, T_WSDL> {
> ...
> public T_WSDL[] dbTypeArrayToWsdlArray() {
> ...
> v teto metode potrebuji vytvorit instanci pole prvku typu T_WSDL. 
> Pokousel jsem se na to jit takto:
> 
> ParameterizedType type = (ParameterizedType) 
> this.getClass().getGenericSuperclass();
> Class classWsdl = (Class) type.getActualTypeArguments()[1];
> T_WSDL[] ret = ( T_WSDL[] ) Array.newInstance(classWsdl, 
> tmp.length ) ;
> 
> Bohuzel dostavam java.lang.ClassCastException: java.lang.Class
> 
> Mohl by mi nekdo poradit? Dekuji
> 
> -- 
> /**************************************/
> Best regards / S pozdravem
> Vladislav Krejčiřík
> 
> http://www.vkrejcirik.info
> 
> 
> 

Odpovedet emailem