Ahoj,
takze jedina moznost je pouzit Cloneable a nebo vlastni podobne rozhrani a mit
k dispozici instanci.
Jirka
Podlesak Kamil napsal(a):
>
> 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
>>
>>
>>
--
Jiří Mareš (mailto:[email protected])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic