[Javalist] Annotáció probléma

József Keresztes xesj.hu at gmail.com
2013. Nov. 20., Sze, 13:33:17 CET


Péter, Ricsi !

Köszi a válaszokat.
Azt hiszem kezd világos lenni a dolog.
És valóban abban a metódusomban aminek osztály volt a paramétere:

private void valami(Class cls) {...}

kicserélve erre:

private void valami(Class<?> cls) {...}

minden tökéletes és nem kell cast amikor belül a cls.getAnnotation()-t
használom!
A lényeg az lehet hogy a cls paraméterem generikussá vált <?> által.

Joe



2013. november 20. 13:22 Böszörményi Péter írta, <zmblevlist at gmail.com>:

> 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
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20131120/886020a7/attachment.html>


További információk a(z) Javalist levelezőlistáról