díky, to je přesně to co jsem hledal
Dne Monday 16 of June 2008 11:30:24 Martin Kuba napsal(a):
> Tomáš Záluský napsal(a):
> > To je dobré! :-)
> >
> >> getGenericSuperclass().getActualTypeArguments()
>
> Ještě jsem si přes víkend uvědomil, že to půjde i s použitím
> interface, protože existuje
Tomáš Záluský napsal(a):
To je dobré! :-)
getGenericSuperclass().getActualTypeArguments()
Ještě jsem si přes víkend uvědomil, že to půjde i s použitím
interface, protože existuje i
getGenericInterfaces().getActualTypeArguments()
takže tady je nová verze s interface:
package cz.makub.generi
TZ
...with Ultimate flying is so easy...
http://www.frisbee.czhttp://www.peaceegg.net
__
> Od: [EMAIL PROTECTED]
> Komu: Java
> Datum: 13.06.2008 16:17
> Předm
Tomáš Záluský napsal(a):
Zdravím,
jak bylo psáno, nejde to z důvodu, že generické informace nepřežijí do okamžiku
běhu programu. Tohle je problém, se kterým generické třídy moc nepomáhají. Aby
to fungovalo, je třeba příslušný typ mít uložený jako Class object. Takže to
chce přidat ještě Class
Of Martin Beránek
Sent: Friday, June 13, 2008 10:12 AM
To: Java
Subject: Re: generic instanceof
Díky všem,
tušení, že to nepůjde lehce jsem měl ;)
zřejmě půjdu cestou jakou navrhoval Tomáš Záluský, tedy
interface Plugin {
boolean execute(T param);
Class getParamType();
}
další va
Díky všem,
tušení, že to nepůjde lehce jsem měl ;)
zřejmě půjdu cestou jakou navrhoval Tomáš Záluský, tedy
interface Plugin {
boolean execute(T param);
Class getParamType();
}
další variantou je chytat ClassCastException při volaní execute, ale to by asi
mohlo způsobovat výkonn
Dobrý den,
nedal by se ten problém vyřešit "krokem stranou"?
Tj. že před voláním execute byste testoval jen
plugin instanceof Plugin
Následně byste volal nějakou metodu pluginu, která by ověřila
kompatibilitu typového parametru, např.
plugin.isCompatibleWith(Integer.class);
Metoda "isCompatibl
Zdravím,
jak bylo psáno, nejde to z důvodu, že generické informace nepřežijí do okamžiku
běhu programu. Tohle je problém, se kterým generické třídy moc nepomáhají. Aby
to fungovalo, je třeba příslušný typ mít uložený jako Class object. Takže to
chce přidat ještě Class do Plugin. Např.
interface
Obávám se, že to nepůjde -- generika jsou v Javě pouze na úrovni typové
kontroly překladačem, po překladu z A vznikne A. Více viz.
http://java.sun.com/developer/technicalArticles/J2SE/generics/index.html
(poznámka až úplně dole).
Mirek
-Original Message-
From: [EMAI