Hmm, to bude pravda... Pokud potrebujete provest cast() na predka, tak neni
znam za behu, ale pouze pri kompilaci...

Leda tu metodu udelat trosku smart a toho predka si najit, pokud neexistuje,
vratit default, ale zda se mi to spise jako cunarna...

Petr Prochazka

On Tue, Nov 11, 2008 at 3:54 PM, Filip Jirsák <[EMAIL PROTECTED]> wrote:

> Váš kód ale nebude vždy fungovat. Když T bude List, value bude
> ArrayList a defaultValue bude LinkedList, dostanete defaultní hodnotu
> (protože přetypování neprojde), měl byste ale dostat zadanou hodnotu
> (value).
>
> Podle mne to bez toho třetího parametru nejde, protože typový parametr
> je v době běhu neznámý, je znám pouze v době překladu.
>
> Filip Jirsák
>
> 2008/11/11 Petr Prochazka <[EMAIL PROTECTED]>:
> > IMHO <T extends Object> je zbytecke, jelikoz kazdy objekt od nej dedi ;-)
> >
> > ale bez Class<T> to jde taky udelat ;-) (alespon Idea nema nic proti)
> >
> > public static <T extends Collection> T value(Object value, T defValue) {
> >   T result;
> >   try {
> >     //noinspection unchecked
> >     result = (T) defValue.getClass().cast(value);
> >   } catch (ClassCastException e) {
> >     result = defValue;
> >   }
> >   return result;
> > }
> >
> > Petr Prochazka
> >
> > 2008/11/11 Ján Valkovič <[EMAIL PROTECTED]>
> >>
> >> Zdravim,
> >> da sa toto:
> >> public static <T extends Object>T cast(Object value, T defaultValue,
> >> Class<T> type) {
> >>        T result;
> >>
> >>        try {
> >>                result = type.cast(value);
> >>        } catch(ClassCastException e) {
> >>                result = defaultValue;
> >>        }
> >>
> >>        return result;
> >> }
> >>
> >> urobit s prvymi 2 parametrami? Parameter defaultValue uz obsahuje typ T,
> >> takze 3. parameter by nemal byt potrebny. Skusal som to urobit s 2, ale
> >> nepodarilo sa mi to, tak ma zaujima, ci sa to da, inac to nepotrebujem,
> >> zaujima ma to, len preto, ze sa mi to nepodarilo :-)
> >>
> >> Vdaka (aj za pripadne pripomienky k tym par riadkom kodu)
> >>
> >> ya
> >>
> >>
> >
> >
>
>
>
> --
> Filip Jirsák
> [EMAIL PROTECTED]
>

Odpovedet emailem