Edukien aurkibidea
Oharpenak errepikatzea
Java 8 plataformara sartzearekin batera, orain bi ohar berri erabil ditzakezu, hau da, idatzi oharrak eta errepikatzen diren oharrak. Izenak dioen bezala, oharrak errepikatzeak klase berean oharpen jakin bat berrerabiltzeko aukera ematen dizu. Errepikatzen den oharpen baten sintaxia ez da oso desberdina ohartarazpen arruntak deklaratzen dituzunaren arabera. Oharpenak errepikatzen diren oharrekin ordezka ditzakezu zure kodeako edozein lekutan.
Edukiontzien oharrak errepikatzen diren oharrak gordetzen ditu. Prozesu hau automatikoki exekutatzen du konpilatzaileak programaren bateragarritasuna errazteko. Kasu horietan, konpilatzaileak bi adierazpen hauek eskatzen ditu zure kodean:
- Oharpen mota errepikakorra deklaratzea
- Adierazpena duen oharpen mota
Errepikagarria den oharpen mota bat deklaratzea
Errepikagarria den oharpen mota bat deklaratzen ari zarenean, @Repeatable meta-oharpenarekin markatu behar da. Hurrengo adibidean @Game errepika daitekeen oharpen mota pertsonalizatua definitzen da.
@Repeatable (Games.class) @interfaceGame { String izena (); Kateen atzerapena (); }
Adierazpena duen oharpen mota
Motaren oharpen honek balio-elementu bat eta array-mota izan behar ditu. Arrayaren datu-motak errepikatzen diren oharpen motako osagaia izan behar du.
@interfaceGames { Jokoa [] balioa (); }
Lagin Programa
Programa honek oharrak errepikatzeko adibide bat erakusten du
inportatu java.lang.annotation.Errepikagarria; inportatu java.lang.annotation.Retention; inportatu java.lang.annotation.RetentionPolicy; @Repeatable (Games.class) @interfaceGame { String izena (); Kate eguna (); } @Retention (RetentionPolicy.RUNTIME) @nterfaceGames { Jokoa [] balioa (); } @Game (izena = “Kricket”, eguna = “Igandea”) @Game (izena = “Hockey”, eguna = “Ostirala”) @Game (izena = “Futbola”, eguna = “Larunbata”) klase publikoa ErrepikatzeaOharpenakAdibidea { public static void main (String args []) { Game [] game = RepeatingAnnotationsExample.class.getAnnotationsByType (Game.class); for (Gamegame2 : game) { System.out.println (game2.name() + “on” + game2.day()); } } }
0 Comments