Soraty amin'ny Java ny Annotation

Soraty amin'ny Java ny Annotation

Miaraka amin'ny fampidirana ny Java 8, ny dikan-teny dia nampiditra endri-javatra roa vaovao antsoina hoe famerimberenana annotation sy karazana annotation. Hatramin'io fotoana io, raha te hampiasa fanamarihana amin'ny Java ianao dia amin'ny fanambarana ihany no azonao atao. Miaraka amin'ny Java 8, afaka manampy fanamarihana amin'ny karazana fampiasana rehetra ianao. Na aiza na aiza ampiasanao karazana (misy karazany amin'ny fanambarana, generics ary cast), azonao atao ny miaraka amin'ny fanamarihana.

Type Annotation Syntax

Java 8 dia afaka manambara karazana annotation amin'ny karazana fampiasana rehetra. Ohatra iray ny snippet eto ambany:

@Angon-drakitra String Encrypted; Tanisao <@NonNull String> tady; myGraph = ( @Immotable Graph ) tmpGraph; Azonao atao fotsiny ny mampiditra annotation karazana vaovao. Ny dingana dia mitovy amin'ny famaritana annotation miaraka amin'ny kendrena ElementType.TYPE_PARAMETER, ElementType.TYPE_USE kendrena, na tanjona roa: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

Ny kendrena ElementType.TYPE_PARAMETER dia midika fa azonao atao ny manoratra ny fanamarihana momba ny fanambaran'ny fari-piainana iray (oh: class MyClass {….}). Ny Element.Type.TYPE_USE dia midika fa azonao atao ny manoratra ny fanamarihana amin'ny karazana fampiasana rehetra (dia ny karazana amin'ny fanambarana, generics ary cast).

Azonao atao ny mitahiry fanamarihana ao amin'ny rakitra kilasy, saingy tsy misy fiantraikany na misy fiantraikany amin'ny fanatanterahana ny programa izany. Ohatra, azonao atao ny manambara ny fari-piadidiana roa sy ny fifandraisana toy ny aseho amin'ny kaody etsy ambany:

File file = ….; @Encryted File encryptedFile = …; @Open Connection = …; Eo am-panatanterahana ny programa dia hitovy ny vokatra raha ampitainao amin'ny fomba fandefasana () ny iray amin'ireo rakitra roa ireo. connection.send(rakitra); connection.send(encryptedFile);

 

Ohatra sasany amin'ny karazana Annotation

@nonNull List List <@NonNull String> str Arrays <@NonNegative Integer> sort @Encypted File file @Open Connection connexion void divideInteger (int a, int b) manipy @ZeroDivisior ArithmeticException

 

Leave a comment

Mampiasa Akismet ity tranonkala ity mba hampihenana spam. Fantaro ny fomba amoahanao ny angona fanehoanao.