Skriv annoteringer i Java

Skriv annoteringer i Java

Med introduktionen af ​​Java 8 har versionen introduceret to nye funktioner kaldet gentagne annoteringer og typeannoteringer. Indtil dette tidspunkt, hvis du ønskede at bruge anmærkninger i Java, kunne du kun gøre det i erklæringerne. Med Java 8 kan du nu tilføje anmærkninger til enhver type brug. Uanset hvor du bruger en type (inkluderer typer i erklæringer, generiske artikler og afstøbninger), kan du ledsage den med en annotering.

Indtast annotationssyntaks

Java 8 kan erklære typeanmærkninger ved enhver typebrug. Et eksempel er uddraget nedenfor:

@Krypterede strengdata; Liste <@NonNull String> strenge; myGraph = ( @Immutable Graph ) tmpGraph; Du kan blot introducere en ny type annotering. Processen svarer til at definere en annotering med ElementType.TYPE_PARAMETER-målet, ElementType.TYPE_USE-målet eller begge mål: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) offentlig @interface Krypteret { }

ElementType.TYPE_PARAMETER-målet betyder, at du kan skrive annotationen på erklæringen af ​​en typevariabel (f.eks. klasse MyClass {….}). Element.Type.TYPE_USE angiver, at du kan skrive annotationen på enhver brugstype (nemlig typer i erklæringer, generiske og afstøbninger).

Du kan gemme annoteringer i klassefiler, men det påvirker eller påvirker ikke programmets udførelse. Som et eksempel kan du erklære to filvariabler og en forbindelse som vist i koden nedenfor:

Fil fil = ….; @Encryted File encryptedFile = …; @Åben forbindelsesforbindelse = …; Mens du kører programmet, vil resultatet være det samme, hvis du sender en af ​​de to filer til forbindelsens send()-metode. forbindelse.send(fil); forbindelse.send(krypteret fil);

 

Nogle eksempler på typeanmærkninger

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

 

Efterlad en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.