Skriv Anteckningar i Java

Skriv Anteckningar i Java

Med introduktionen av Java 8 har versionen introducerat två nya funktioner som kallas repeterande annoteringar och typkommentarer. Fram till denna tid, om du ville använda anteckningar i Java, kunde du bara göra det i deklarationerna. Med Java 8 kan du nu lägga till kommentarer för alla typer av användning. Var du än använder en typ (inkluderar typer i deklarationer, generika och avgjutningar), kan du åtfölja den med en anteckning.

Skriv anteckningssyntax

Java 8 kan deklarera typkommentarer för vilken typ som helst. Ett exempel är utdraget nedan:

@Krypterad strängdata; Lista <@NonNull String> strängar; myGraph = ( @Immutable Graph ) tmpGraph; Du kan helt enkelt introducera en ny typkommentar. Processen liknar att definiera en anteckning med ElementType.TYPE_PARAMETER-målet, ElementType.TYPE_USE-målet eller båda målen: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Krypterad { }

ElementType.TYPE_PARAMETER-målet betyder att du kan skriva annoteringen på deklarationen av en typvariabel (t.ex. klass MyClass {….}). Element.Type.TYPE_USE betyder att du kan skriva annoteringen på vilken användningstyp som helst (nämligen typer i deklarationer, generika och casts).

Du kan spara anteckningar i klassfiler, men det påverkar eller påverkar inte programmets körning. Som ett exempel kan du deklarera två filvariabler och en anslutning som visas i koden nedan:

Filfil = ….; @Encryted File encryptedFile = …; @Öppen anslutning = …; Medan du kör programmet blir resultatet detsamma om du skickar någon av de två filerna till anslutningens send()-metod. connection.send(fil); connection.send(encryptedFile);

 

Några exempel på typkommentarer

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

 

Lämna en kommentar

Den här sidan använder Akismet för att minska spam. Läs om hur din kommentardata behandlas.