<div dir="ltr">Péter, Ricsi !<div><br></div><div>Köszi a válaszokat.</div><div>Azt hiszem kezd világos lenni a dolog. </div><div>És valóban abban a metódusomban aminek osztály volt a paramétere:</div><div><br></div><div>private void valami(Class cls) {...}</div>
<div><br></div><div>kicserélve erre:</div><div><br></div><div><div>private void valami(Class<?> cls) {...}</div></div><div><br></div><div>minden tökéletes és nem kell cast amikor belül a cls.getAnnotation()-t használom! </div>
<div>A lényeg az lehet hogy a cls paraméterem generikussá vált <?> által.</div><div><br></div><div>Joe</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013. november 20. 13:22 Böszörményi Péter írta, <span dir="ltr"><<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
<br>
Ha Class<?> zz = Object.class-t hasznalsz, akkor nem kell a cast, legalabbis nekem nem kellett.<div class="im"><br>
<br>
On 2013-11-20 13:02, József Keresztes wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Na azt hiszem így jobban érthető. Kicsit átalakítottam a példádat:<br>
<br>
Override a = Object.class.getAnnotation(<u></u>Override.class);<br>
Class zz = Object.class;<br>
Override a2 = zz.getAnnotation(Override.<u></u>class); // EZ NEM FORDUL LE<br>
<br>
<br>
<br>
2013. november 20. 12:56 József Keresztes írta, <<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a><br></div>
<mailto:<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a>>>:<div class="im"><br>
<br>
Netbeans 7.4-et használok, és ha a cast-ot kiveszem akkor a<br>
következő a hibaüzenet:<br>
<br>
incompatible types: Annotation cannot be converted to View<br>
<br>
<br>
2013. november 20. 12:42 Böszörményi Péter írta,<br></div>
<<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a> <mailto:<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a>>><u></u>:<div class="im"><br>
<br>
Szerintem vagd ki azt a fat.<br>
Ez nekem fordul, bar az vitathatatlan, hogy sok ertelme nincs:<br>
<br></div>
Override a = Object.class.getAnnotation(__<u></u>Override.class);<br>
Field f = null;<br>
Override b = f.getAnnotation(Override.__<u></u>class);<div class="im"><br>
<br>
Milyen hibat mond a fordito, ha nincs ott a cast?<br>
<br>
<br>
On 2013-11-20 12:28, József Keresztes wrote:<br>
<br>
Sziasztok !<br>
<br>
Valamit nagyon nem értek, persze lehet hogy a fától nem<br>
látom az erdőt :)<br>
Van egy annotációm, a neve View. Amikor egy osztálynál<br>
vizsgálom hogy el<br>
van-e látva ezzel az annotációval,<br>
kell egy "számomra értelmetlen" cast, különben a kód nem<br>
fordul le.<br>
Ha ugyanezt egy Field-nél vizsgálom, nem kell cast-olni. Az<br>
osztálynál<br>
miért kell ???<br>
Egyébként a dolog annotáció független, más annotációval is a<br>
helyzet<br>
ugyanez.<br>
<br>
<br>
Class cls = ...;<br>
Field field = cls.getField(...);<br>
<br></div>
View view = (View)cls.getAnnotation(View._<u></u>_class); //???<br>
mért kell cast ???<br>
View view2 = field.getAnnotation(View.__<u></u>class);<div class="im"><br>
<br>
Dokumentáció szerint a Class osztály getAnnotation() metódusa:<br>
<br>
public <A extends Annotation> A getAnnotation(Class<A><br>
annotationClass)<br>
<br>
Dokumentáció szerint a Field osztály getAnnotation() metódusa:<br>
<br>
public <T extends Annotation> T getAnnotation(Class<T><br>
annotationClass)<br>
<br>
<br>
Üdv, Joe<br>
<br>
<br>
<br></div>
______________________________<u></u>___________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a> <mailto:<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.<u></u>javaforum.hu</a>><br>
<a href="http://lists.javaforum.hu/__mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/__<u></u>mailman/listinfo/javalist</a><div class="im"><br>
<<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/<u></u>mailman/listinfo/javalist</a>><br>
<br>
<br>
<br>
--<br>
Üdvözlettel,<br>
Böszörményi Péter<br></div>
______________________________<u></u>___________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a> <mailto:<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.<u></u>javaforum.hu</a>><br>
<a href="http://lists.javaforum.hu/__mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/__<u></u>mailman/listinfo/javalist</a><br>
<<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/<u></u>mailman/listinfo/javalist</a>><div class="im"><br>
<br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/<u></u>mailman/listinfo/javalist</a><br>
<br>
</div></blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
-- <br>
Üdvözlettel,<br>
Böszörményi Péter<br>
______________________________<u></u>_________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/<u></u>mailman/listinfo/javalist</a><br>
</div></div></blockquote></div><br></div>