Sök…


Förklara en kommentar

Anteckningar är sätt att knyta metadata till koden. För att förklara en kommentar, placera annoteringsmodifieraren framför en klass:

annotation class Strippable

Anteckningar kan ha metaanotationer:

    @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
    annotation class Strippable

Annoteringar, som andra klasser, kan ha konstruktörer:

annotation class Strippable(val importanceValue: Int)

Men till skillnad från andra klasser, är det begränsat till följande typer:

  • typer som motsvarar Java-primitiva typer (Int, Long etc.);
  • strängar
  • klasser (Foo :: klass)
  • enums
  • andra kommentarer
  • matriser av ovanstående typer

Meta-annoteringar

När du deklarerar en kommentar kan metainfo inkluderas med följande metaanotationer:

  • @Target : specificerar möjliga typer av element som kan kommenteras med anteckningen (klasser, funktioner, egenskaper, uttryck etc.)

  • @Retention anger om anteckningen lagras i de sammanställda klassfilerna och om den är synlig genom reflektion vid körning (som standard är båda sanna.)

  • @Repeatable gör det möjligt att använda samma kommentar på ett enda element flera gånger.

  • @MustBeDocumented anger att anteckningen är en del av det offentliga API: et och bör inkluderas i klassen eller metodsignaturen som visas i den genererade API-dokumentationen.

Exempel:

@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION,
        AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
@MustBeDocumented
annotation class Fancy


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow