Parametrizovany cast

Petr Prochazka petrprochy na gmail.com
Úterý Listopad 11 15:21:55 CET 2008


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č <yanick na samsonzv.sk>

> 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
>
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://amaio.cz/pipermail/konference/attachments/20081111/1103541b/attachment.htm>


Další informace o konferenci Konference