[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