[Javalist] Annotáció probléma
Böszörményi Péter
zmblevlist at gmail.com
2013. Nov. 20., Sze, 13:22:34 CET
Richard mutatott ra a dologra. Az altalad kuldott cucc telleg nem fordul
le, mert ebben az esetben zz valtozo nem generikus, gondolom visszafele
kompatibilitas miatt ilyenkor a fuggvenyeknel sem veszi figyelembe a
generikus parametereket, de ezt valaki, aki nalam okosabb megmondja.
Ha Class<?> zz = Object.class-t hasznalsz, akkor nem kell a cast,
legalabbis nekem nem kellett.
On 2013-11-20 13:02, József Keresztes wrote:
> Na azt hiszem így jobban érthető. Kicsit átalakítottam a példádat:
>
> Override a = Object.class.getAnnotation(Override.class);
> Class zz = Object.class;
> Override a2 = zz.getAnnotation(Override.class); // EZ NEM FORDUL LE
>
>
>
> 2013. november 20. 12:56 József Keresztes írta, <xesj.hu at gmail.com
> <mailto:xesj.hu at gmail.com>>:
>
> Netbeans 7.4-et használok, és ha a cast-ot kiveszem akkor a
> következő a hibaüzenet:
>
> incompatible types: Annotation cannot be converted to View
>
>
> 2013. november 20. 12:42 Böszörményi Péter írta,
> <zmblevlist at gmail.com <mailto:zmblevlist at gmail.com>>:
>
> Szerintem vagd ki azt a fat.
> Ez nekem fordul, bar az vitathatatlan, hogy sok ertelme nincs:
>
> Override a = Object.class.getAnnotation(__Override.class);
> Field f = null;
> Override b = f.getAnnotation(Override.__class);
>
> Milyen hibat mond a fordito, ha nincs ott a cast?
>
>
> On 2013-11-20 12:28, József Keresztes wrote:
>
> Sziasztok !
>
> Valamit nagyon nem értek, persze lehet hogy a fától nem
> látom az erdőt :)
> Van egy annotációm, a neve View. Amikor egy osztálynál
> vizsgálom hogy el
> van-e látva ezzel az annotációval,
> kell egy "számomra értelmetlen" cast, különben a kód nem
> fordul le.
> Ha ugyanezt egy Field-nél vizsgálom, nem kell cast-olni. Az
> osztálynál
> miért kell ???
> Egyébként a dolog annotáció független, más annotációval is a
> helyzet
> ugyanez.
>
>
> Class cls = ...;
> Field field = cls.getField(...);
>
> View view = (View)cls.getAnnotation(View.__class); //???
> mért kell cast ???
> View view2 = field.getAnnotation(View.__class);
>
> Dokumentáció szerint a Class osztály getAnnotation() metódusa:
>
> public <A extends Annotation> A getAnnotation(Class<A>
> annotationClass)
>
> Dokumentáció szerint a Field osztály getAnnotation() metódusa:
>
> public <T extends Annotation> T getAnnotation(Class<T>
> annotationClass)
>
>
> Üdv, Joe
>
>
>
> _________________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
> http://lists.javaforum.hu/__mailman/listinfo/javalist
> <http://lists.javaforum.hu/mailman/listinfo/javalist>
>
>
>
> --
> Üdvözlettel,
> Böszörményi Péter
> _________________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
> http://lists.javaforum.hu/__mailman/listinfo/javalist
> <http://lists.javaforum.hu/mailman/listinfo/javalist>
>
>
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
--
Üdvözlettel,
Böszörményi Péter
További információk a(z) Javalist levelezőlistáról